首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

AbstractList源码解析1 实现的方法2 两种内部迭代器3 两种内部类3 SubList 源码分析4 RandomAccessSubList 源码:AbstractList 作为 Lis

or not 3.1 RandomAccess 一个空接口,用来标识某个类是否支持 随机访问 一个支持随机访问的类明显可以使用更加高效的算法 List 中支持随机访问最佳的例子就是ArrayList...等方法的时间复杂度都是 O(1) 反例就是 LinkedList, 链表结构使得它不支持随机访问,只能顺序访问,因此在一些操作上性能略逊一筹 通常在操作一个 List 对象时,通常会判断是否支持 随机访问,也就是是否为 RandomAccess...的实例,从而使用不同的算法 比如遍历,实现了 RandomAccess 的集合使用 get(): for (int i=0, n=list.size(); i < n; i++)...list.get(i); 比用迭代器更快: for (Iterator i=list.iterator(); i.hasNext(); ) i.next(); 实现了 RandomAccess...所以可以通过它来间接操作父 List 4 RandomAccessSubList 源码: RandomAccessSubList 只不过是在 SubList 之外加了个 RandomAccess 的标识

1.6K20
领券