Witam, mam pewien problem
Mam taką klasę:
public class Point
{
double x;
double y;
public Point(Double X, Double Y)
{
x = X;
y = Y;
}
}
w programie robię listę, a potem dodaję do niej jakieś elementy typu Point:
ArrayList<Point> arrayList = new ArrayList<Point>();
Tworzę listę z wynikami, iterator do pierwszej listy oraz pomocnicze obiekty typu Point
ArrayList<Point> arrayListScore = new ArrayList<Point>();
Iterator<Point> i = arrayList.iterator();
Point point = new Point(0.0, 0.0);
Point pointNastepny = new Point(0.0, 0.0);
Point pointDoZapisu = new Point(0.0, 0.0);
Poruszam się po liście arrayList pętlą while, niby kompilator akceptuje to ale wyświetla mi błąd w programie gdy już coś dodam:
Błąd: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.ArrayList$Itr cannot be cast to Point
while(i.hasNext())
{
point = (Point) i;
pointNastepny = (Point) i.next();
if(point.x > 0 && pointNastepny.y>0)
{
pointDoZapisu.x = point.x;
pointDoZapisu.y = pointNastepny.y;
}
}
Nie wiem co robię źle w tej pętli while, mógłby mnie ktoś nakierować? Jakie tak naprawdę informacje niesie ze sobą iterator, bo chyba źle go zrozumiałem.
Jeszcze chciałbym się zapytać jak w pętli while zacząć od konkretnego iteratora.