问题描述
据说 LinkedList
中的索引是随机存储的,但是当我每次获取相同索引时都尝试在“LinkedList”中获取索引时。那么它是如何随机存储的,这是令人困惑的,下面是简单的代码
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println("Index At 2:::"+list.get(2));
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Integer integer = (Integer) iterator.next();
System.out.println(integer);
}
}
My output Every Time
Index At 2:::3
1
2
3
4
5
解决方法
元素的内存位置与其在列表中的逻辑位置无关。列表序列由链接建立。
索引位置指的是列表中的位置,而不是内存中的位置。要访问某个列表索引处的元素,您必须遵循链接,这就是它较慢的原因。