[英]Problems with ArrayList<ArrayList<Integer>> .. JAVA
它是整数数组列表的数组列表。 但是,当我尝试编译时,我仍然遇到问题。 命令提示符显示“不兼容的类型”。 我确定所有函数调用都是正确的(即:.getStart()、. getEnd()等-我编写了这些类并进行了彻底测试。)顺便说一句,“ permOfEdges”是:ArrayList <ArrayList <Edge >>(Edge是我写的一堂课。)
由于它是:Visited.get(-)。get(-),因此它说第二个.get(-)应该是变量而不是值。 我对它的含义感到困惑,因为它是一个arraylists的arraylist。
arraylists的arraylist代码:
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();
该错误显示为:1.意外的类型:visit.get(i).get *(j)= 0(* =命令提示符中^所在的位置)必需:找到的变量:值
任何帮助将非常感激! 谢谢!
您不能将其分配给方法调用的结果。 这是错误的:
visited.get(i).get(j) = 1;
并且您可能是说:
visited.get(i).set(j, 1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.