【发布时间】:2015-11-18 12:48:09
【问题描述】:
我有一个带有点的列表列表(AWT)
List<List<Point>> listOfList = new ArrayList<List<Point>>();
现在我正在迭代它:
for (List<Point> list : listOfList) {
//...
//here i'm looking for a specific Point, if its inside, i add additional point
//into the new listTemp
List<Point> tempList = new ArrayList<Point>();
我通过将所有点复制到一个新列表“tempList”中来做到这一点。
最后,我将旧列表替换为新列表。
listOfList.remove(list);
listOfList.add(listTemp);
}
现在我的问题是如何确保 listTemp 在 listOfList 中准确地占据已删除列表的旧位置?所有这些都发生在 for 循环中。所以我不想遍历新添加的列表。
有什么想法吗?提前致谢
【问题讨论】:
-
我觉得这个问题应该更清楚。你想达到什么目的?
-
我试图在遍历所有列表时将一个点插入列表之一。任务是在迭代仍在进行时不要再次查看此查看列表。旧列表需要在旧的位置被新的替换,包含所有旧点+新点
-
@Jürgen,如果列表是可变的,您可以将新的
Point作为list.add(newPoint)添加到现有列表中,而不是将所有元素复制到新列表中。 -
我怎么知道它是否可变?
-
@Jürgen,看起来您正在将
listOfList创建为new ArrayList<>并填充到您的程序中。因此,它是可变的,您可以简单地将新点添加到列表中,而无需创建新列表。我正在相应地更新我的答案。
标签: java list for-loop iterator position