Witam,
mam problem z Iteratorem HashSetu, otoz kiedy iteruje po mojej kolekcji wypisując po prostu jej zawartość, wszystko gra.
Problem sie pojawia, kiedy chce wypisać tylko konkretne wartości, sprecyzowane w odpowiednim if-ie, wtedy iterator jakby "przesuwa" się o pozycje dalej
Utworzyłem klasę Czlowiek, ktora zawiera pola Imie i Nazwisko. Kiedy chce wypisac tylko ludzi z imieniem "Jan", kiedy iterator wykryje Jana, wypisuje osobe kolejną zamiast jego. Macie pomysly w czym problem? Załączam kod:
```java
Set<Czlowiek> ludzie = new HashSet<>();
Czlowiek o1 = new Czlowiek("Jan", "Kowalski");
Czlowiek o2 = new Czlowiek("Maria", "Nowak");
Czlowiek o3 = new Czlowiek("Anna", "Lewandowska");
ludzie.add(o1);
ludzie.add(o2);
ludzie.add(o3);
Iterator<Czlowiek> i = ludzie.iterator();
while(i.hasNext())
{
Czlowiek x = i.next();
if(x.get.Imie() == "Jan")
{
System.out.println(i.next()); //wypisuje "Maria"
}
}
</code></code>
Probowalem zamiasat while'a zrobić for'a, lecz rezultat podobny.