为什么只有ArrayList和Vector实现RandomAccess接口,而LinkedList没有实现?据我所知,RandomAccess实现的类可以加快元素在集合中的检索速度。此外,如果我尝试创建一个扩展java.util.LinkedList并实现RandomAccess接口的自定义类,这是否使自定义类与LinkedList类似,但使用了RandomAccess?下面是实现我在第二点中说过的代码:
public class ExtendedLinkedList extends java.util.LinkedLis
为了防止误用和令人失望的性能,我想知道如何执行RandomAccess限制。不幸的是,RandomAccess接口没有扩展List,因此我需要同时将变量分为两种类型。我可以声明方法接受ArrayList而不是List,但是其他列表类型也可以实现RandomAccess (例如,Collections.synchronizedList和Collections.checkedList我试过泛型,但无法构造一个有效的语法:
public <T> void process(<List<T> extends Ra
ArrayList实现了List和RandomAccess。我知道这个演员阵容不会适用于LinkedList或MySpecialArrayList。但是这种方法的参数不允许这样做。我知道(直到人们将List或RandomAccess从ArrayList中删除之前,强制转换在运行时不会失败,但是为什么不检查强制转换呢?>> & RandomAccess> L castArrayList(ArrayList<GenericTokenType<?