我在學習ListIterator接口。我已經想出了兩個版本的代碼,第1版「it.next()」+「it.nextIndex()」的兩個版本,但順序不同,爲什麼結果不同
List<Integer> list1 = new LinkedList<>(Arrays.asList(11,22,33,44));
ListIterator<Integer> it = list1.listIterator();
while (it.hasNext()){
//version 1
System.out.println("value: " + it.next() + " index: " + it.nextIndex());
//version 2
System.out.println("index: " + it.nextIndex() + " value: " + it.next());
}
結果:
index: 0 value: 11
index: 1 value: 22
index: 2 value: 33
index: 3 value: 44
我期待的結果是:
value: 11 index: 1
value: 22 index: 2
value: 33 index: 3
value: 44 index: 4
版本2結果相同,但顯然他們不是。有人能告訴我爲什麼嗎?