繁体   English   中英

ArrayList问题 <ArrayList<Integer> &gt; ..JAVA

[英]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(* =命令提示符中^所在的位置)必需:找到的变量:值

  1. 如果((visited.get(point.getEnd())。get *(point.getStart())== 0)&& ...)不能取消引用int
  2. 和4.这两个错误均与第一个错误相同,除了它着重于我分配了visited.get(..)。get(..)= 1的两行

任何帮助将非常感激! 谢谢!

您不能将其分配给方法调用的结果。 这是错误的:

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

并且您可能是说:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM