Marcin
Barańczak
Programista - tester
automatyzujący
Temat: Usuwanie elementu za pomocą iteratora
Dostałem zadanie utworzenia kontenera HashSet i za pomocą iteratora (nie list iteratora) usunięcie przedostatniego elementu. Wszystkie moje starania zakończyły się fiaskiem. Poniżej kod (błędny niestety). Co zmienić, aby kod działał prawidłowo?
import java.util.*;
public class JavaApplication
{
public static void main(String[] args)
{
int i=0, licznik=-1;
HashSet<String> lista =new HashSet<String>();
lista.add("jeden");
lista.add("dwa");
lista.add("trzy");
lista.add("cztery");
lista.add("piec");
lista.add("szesc");
lista.add("piec");
lista.add("piec");
Iterator <String>it=lista.iterator();
Iterator <String>it2=lista.iterator();
Iterator <String>it3=lista.iterator();
while(it.hasNext()) //wyświetla liste i zlicza elementy
{
licznik++;
System.out.println(it.next());
}
System.out.println("\n");
while(it2.hasNext()) //usuwa przedostatni element
{
i++;
it2.next();
if(i==licznik)
it2.remove();
}
System.out.println("\n");
while(it3.hasNext()) //wyswietla liste po usunieciu
{
System.out.println(it3.next());
}
}
}