Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何同时迭代这些列表?_Java_Arrays_List - Fatal编程技术网

Java 如何同时迭代这些列表?

Java 如何同时迭代这些列表?,java,arrays,list,Java,Arrays,List,这就是我想要实现的目标: public ArrayList<Point> startPoints = new ArrayList<Point>(); public ArrayList<Point> endPoints = new ArrayList<Point>(); for (Point startPoint : startPoints) { // <-- How do I do I do 2 at

这就是我想要实现的目标:

    public ArrayList<Point> startPoints = new ArrayList<Point>();
    public ArrayList<Point> endPoints = new ArrayList<Point>();

            for (Point startPoint : startPoints) { // <-- How do I do I do 2 at the same time?
                 g.fillOval(startPoint .x, startPoint.y, 10, 10);
                 g.drawLine(startPoint .x, startPoint.y, endPoint.x, endPoint.y);
            }
public ArrayList startPoints=new ArrayList();
public ArrayList endPoints=new ArrayList();
对于(点起始点:起始点){/使用索引为
i
的“正常”for

// if list1 and list2 have the same length
for(int i = 0;i<list1.size();i++){
   list1.get(i); // do something with that
   list2.get(i); // do something else with that
}
//如果列表1和列表2的长度相同
对于(int i=0;i使用索引
i
的“正常”
for

// if list1 and list2 have the same length
for(int i = 0;i<list1.size();i++){
   list1.get(i); // do something with that
   list2.get(i); // do something else with that
}
//如果列表1和列表2的长度相同

对于(int i=0;i尝试使用normal for loop而不是foreach

如果无法更改数据结构,请尝试使用normal for loop而不是foreach

for (int i = 0; i < startPoints.size() && i < endPoints.size(); i++) {
    Point startPoint = startPoints.get(i);
    Point endPoint = endPoints.get(i);
    g.fillOval(startPoint.x, startPoint.y, 10, 10);
    g.drawLine(startPoint.x, startPoint.y, endPoint.x, endPoint.y);

}
for(int i=0;i
如果无法更改数据结构:

for (int i = 0; i < startPoints.size() && i < endPoints.size(); i++) {
    Point startPoint = startPoints.get(i);
    Point endPoint = endPoints.get(i);
    g.fillOval(startPoint.x, startPoint.y, 10, 10);
    g.drawLine(startPoint.x, startPoint.y, endPoint.x, endPoint.y);

}
for(int i=0;i
我建议,不要依赖迭代来成功保持同步,而是使用一个包含两个点的
类。对于每个起点和终点,构造
对象并将其插入arraylist

要将它们取出,只需按如下方式迭代:

for (Line line : lines) { // <-- How do I do I do 2 at the same time?
     g.fillOval(line.getStartPoint().x, line.getStartPoint().y, 10, 10);
     g.drawLine(line.getStartPoint().x, line.getStartPoint().y, line.getEndPoint().x, line.getEndPoint.y);
}

for(Line-Line:lines){/我建议不要依赖迭代来成功保持同步,而是使用一个包含两个点的
Line
类。对于每个起点和终点,构造
Line
对象并将其插入arraylist

要将它们取出,只需按如下方式迭代:

for (Line line : lines) { // <-- How do I do I do 2 at the same time?
     g.fillOval(line.getStartPoint().x, line.getStartPoint().y, 10, 10);
     g.drawLine(line.getStartPoint().x, line.getStartPoint().y, line.getEndPoint().x, line.getEndPoint.y);
}

for(Line-Line:lines){/不能同时使用“foreach”for循环执行这两项操作

如果确定两个列表的大小相同,则使用循环:

        for (int i = 0; i < startPoints.size(); i++) { // <-- How do I do I do 2 at the same time?
             Point startPoint = startPoints.get(i);
             Point endPoint = endPoints.get(i);
             g.fillOval(startPoint .x, startPoint.y, 10, 10);
             g.drawLine(startPoint .x, startPoint.y, endPoint.x, endPoint.y);
        }

for(int i=0;i
如果确定两个列表的大小相同,则使用循环:

        for (int i = 0; i < startPoints.size(); i++) { // <-- How do I do I do 2 at the same time?
             Point startPoint = startPoints.get(i);
             Point endPoint = endPoints.get(i);
             g.fillOval(startPoint .x, startPoint.y, 10, 10);
             g.drawLine(startPoint .x, startPoint.y, endPoint.x, endPoint.y);
        }
for(int i=0;i因为您的数据(startPoint和endPoint)是相关的-将它们放在另一个类(例如MyVector)中,该类将具有startPoint和endPoint成员(类型为Point)。有了这样的结构,您可以在MyVector对象列表上迭代。

检查此项:检查此项: