/ / Problemy z ArrayList <ArrayList <Integer>> .. JAVA - java, arraylist, błędy kompilatora

Problemy z ArrayList <ArrayList <Integer >> .. JAVA - java, arraylist, kompilator-errors

Jest arraylistą arytmistów liczb całkowitych. Wciąż próbuję skompilować problem, ale wiersz poleceń mówi „niekompatybilne typy”. Wiem na pewno, że wszystkie wywołania funkcji są poprawne (np. .GetStart (), .getEnd () itd. - napisałem te klasy i dokładnie je przetestowałem.) Btw, „permOfEdges” to: ArrayList <ArrayList <Edge>> (Edge jest klasą, którą napisałem).

Ponieważ to jest: visit.get (-). get (-), mówi, że drugi .get (-) powinien być zmienną, a nie wartością. Jestem zdezorientowany, co to znaczy, ponieważ jest arraylistą arraylistów.

Kod arraylist arraylists:

ArrayList<ArrayList<Integer>> visited = new ArrayList<ArrayList<Integer>>();
for(int i = 1; i < permOfEdges.size(); i++)
{
for(int j = 0; j < permOfEdges.get(i).size(); j++)
{
visited.get(i).get(j) = 0;  // this is to initialize the entire thing to only contain zeros
}
}
for(int i = 1; i < permOfEdges.size(); i++)
{
for(Edge point: permOfEdges.get(i))
{
if((visited.get(point.getEnd()).get(point.getStart()) == 0) && visited.get(point.getStart().get(point.getEnd()) == 0))  // means NOT visited yet
{
writer.println(point.getStart() + " " + point.getEnd() + " " + point.getDistance() + " " + point.getPrice());
}
visited.get(point.getStart()).get(point.getEnd()) = 1;
visited.get(point.getEnd()).get(point.getStart()) = 1;
}
}

writer.close();

Błąd brzmi: 1. nieoczekiwane typy: visited.get (i) .get * (j) = 0 (* = gdzie ^ było w wierszu polecenia) wymagane: zmienne znaleziono: wartość

  1. int nie można wyrejestrować if ((visited.get (point.getEnd ()). get * (point.getStart ()) == 0) && ...)
  2. i 4. oba te błędy są takie same, jak pierwszy, z wyjątkiem tego, że skupia się na dwóch liniach, w których przypiszem visit.get (..). get (..) = 1

Każda pomoc będzie doceniona! Dziękuję Ci!

Odpowiedzi:

1 dla odpowiedzi № 1

Nie można przypisać do wyniku wywołania metody. To jest źle:

visited.get(i).get(j) = 1;

a ty prawdopodobnie miałeś na myśli:

visited.get(i).set(j, 1);