在Java的集合中,我们阅读源码的时候回发现,ArrayList中实现了RandomAccess,而LinkedList,没有实现。我们在网上查询,会发现官网的一段介绍:大概意思就是RandomAccess是一个标记接口,实现了这个接口的List集合可以实现快速随机访问。
public interface RandomAccess {
}
我们点击去这个接口会发现里面什么也没有,在官网的解释中说,通过判断这个接口来选择一个最优的一个遍历算法, ArrayList实现了RandomAccess接口,那么使用for循环的方式获取数据会由于迭代器获取数据。