Mały problem z iteratorem. Chodzi o zastosowanie iteratora a dokładnie metody previous(), add(). Poniżej testowy przykład.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class IteratorTEST {
public static void main(String []args){
ArrayList<String> alist = new ArrayList<String>();
alist.add("aaaaa");
alist.add("bbbbb");
alist.add("ccccc");
alist.add("ddddd");
alist.add("eeeee");
for (Iterator<String> it = alist.iterator(); it.hasNext();){
String n = it.next();
int i = it.nextIndex();
System.out.println(n + " " + i);
}
System.out.println("=====")
for (Iterator<String> it = alist.iterator(); it.hasPrevious();){
String p = it.previous();
int j = it.previousIndex();
System.out.println(p + " " + j);
}
it.remove(); //? chcialbym usunac pierwsza wartosc przypisana do p tj. aaaaa
it.add(); //? i w to miejsce wstawic np. zzzzz
}
}
Nie potrafię zapisać it.remove() oraz it.add() tak aby spełniały swoje funkcje (w komentarzach). Podobnie "int i = it.nextIndex();" nie podaje mi indeksu następnego a "int j = it.previousIndex();" poprzedniego. Próbowałem: i=it.nextIndex(n), j=it.previousIndex(p), i nic z tego. Eclipse daje mi informację że powinienem zrobić cast tj
((Object) it).nextIndex().
Dzięki za podpowiedzi !!!