Może od kodu zacznę:
public class Main{
public static void main(String[] args) {
List list = new ArrayList<String>();
list.add("jeden");
list.add("dwa");
list.add("trzy");
list.add("cztery");
ListIterator<String> iterator = list.listIterator(2);
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.previous());
System.out.println(iterator.previous());
System.out.println(iterator.previous());
System.out.println(iterator.next());
System.out.println(iterator.next());
}
}
A tutaj output:
trzy
cztery
cztery
trzy
dwa
dwa
trzy
Nie wiem dlaczego tak się dzieje, i czy można użyć innego typu (albo opakować jakoś istniejący) żeby nieduplikowały się wartości z iteratora?