/ / Probleme mit ArrayList <ArrayList <Integer >> .. JAVA - Java, Arraylist, Compiler-Fehler

Probleme mit ArrayList <ArrayList <Integer >> .. JAVA - Java, Arrayliste, Compiler-Fehler

Es ist eine Arrayliste von Arraylisten von ganzen Zahlen. Beim Versuch zu kompilieren tritt jedoch immer noch ein Problem auf. In der Eingabeaufforderung wird "inkompatible Typen" angezeigt. Ich weiß mit Sicherheit, dass alle Funktionsaufrufe korrekt sind (d. H .: .getStart (), .getEnd () usw. - Ich habe diese Klassen geschrieben und sie gründlich getestet.) Übrigens ist "permOfEdges": ArrayList <ArrayList <Edge >> (Edge ist eine Klasse, die ich geschrieben habe.)

Seit seiner: visited.get (-). get (-), das zweite .get (-) sollte eine Variable sein, kein Wert. Ich bin verwirrt darüber, was es bedeutet, da es sich um eine Arrayliste von Arraylisten handelt.

Code für die Arrayliste der Arraylisten:

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();

Der Fehler lautet: 1. unerwartete Typen: visited.get (i) .get * (j) = 0 (* = wo das ^ in der Eingabeaufforderung war) erforderlich: variabel gefunden: Wert

  1. int kann nicht dereferenziert werden if ((visited.get (point.getEnd ()). get * (point.getStart ()) == 0) && ...)
  2. und 4. Diese beiden Fehler sind dieselben wie der erste, mit der Ausnahme, dass er sich auf die beiden Zeilen konzentriert, denen ich visited.get (..). get (..) = 1 zuordnet

Jede Hilfe wäre sehr dankbar! Vielen Dank!

Antworten:

1 für die Antwort № 1

Sie können dem Ergebnis eines Methodenaufrufs nichts zuordnen. Das ist falsch:

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

und Sie meinten vermutlich:

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