Java 如何确保列表在列表中的旧位置,以便用新位置替换它

Java 如何确保列表在列表中的旧位置,以便用新位置替换它,java,list,for-loop,iterator,position,Java,List,For Loop,Iterator,Position,我有一个带有点的列表(AWT) 现在我的问题是,如何确保listTemp在listOfList中正好处于已删除列表的旧位置?所有这些都是在for循环中发生的。所以我不想重复新添加的列表 有什么想法吗?请提前感谢删除后,您可以使用 List.add(int index, E element) 要在删除元素后将其添加到所需索引处,可以使用 List.add(int index, E element) 要在所需索引处添加元素,请根据OP的最新评论编辑:,或者可以将新的点添加到找到的特定列表中,而不

我有一个带有点的列表(AWT)

现在我的问题是,如何确保listTemp在listOfList中正好处于已删除列表的旧位置?所有这些都是在for循环中发生的。所以我不想重复新添加的列表


有什么想法吗?请提前感谢

删除后,您可以使用

List.add(int index, E element)

要在删除元素后将其添加到所需索引处,可以使用

List.add(int index, E element)

要在所需索引处添加元素,请根据OP的最新评论编辑:,或者可以将新的
点添加到找到的特定列表中,而不是创建新列表并替换找到的列表

for (List<Point> list : listOfList) {
    if (list.contains(specificPoint) {
        //add new point to the same list. 
        list.add(newPoint);
    }
}

编辑:根据OP的最新评论,或者可以将新的
点添加到找到的特定列表中,而不是创建新列表并替换找到的列表

for (List<Point> list : listOfList) {
    if (list.contains(specificPoint) {
        //add new point to the same list. 
        list.add(newPoint);
    }
}

使用
ListIterator
迭代
ListIterator列表
,并使用
ListIterator.set()
将列表替换为新列表:

ListIterator<List<Point>> it = listOfList.listIterator();
while (it.hasNext()) {
    List<Point> list = it.next();
    ...
    it.set(listTemp);
}
ListIterator it=listOfList.ListIterator();
while(it.hasNext()){
List=it.next();
...
设置(listTemp);
}

使用
ListIterator
迭代
ListIterator列表
,并使用
ListIterator.set()
将列表替换为新列表:

ListIterator<List<Point>> it = listOfList.listIterator();
while (it.hasNext()) {
    List<Point> list = it.next();
    ...
    it.set(listTemp);
}
ListIterator it=listOfList.ListIterator();
while(it.hasNext()){
List=it.next();
...
设置(listTemp);
}

我觉得问题应该更清楚。你想实现什么?我试图在遍历所有列表的同时,在其中一个列表中插入一个点。任务是在迭代仍在进行时,不要再次查看此已查看列表。旧列表需要替换为旧列表位置的新列表,包含所有旧点+新点one@Jürgen,您可以将新的
点作为
列表添加到现有列表中。如果列表是可变的,则添加(newPoint)
,而不是将所有元素复制到新列表中。如何知道其是否可变?@Jürgen,看起来您正在创建
listOfList
作为
newarraylist
并在程序中填充。因此,它是可变的,您只需将新点添加到列表中,而无需创建新列表。我正在相应地更新我的答案。我觉得问题应该更清楚。你想实现什么?我试图在遍历所有列表的同时,在其中一个列表中插入一个点。任务是在迭代仍在进行时,不要再次查看此已查看列表。旧列表需要替换为旧列表位置的新列表,包含所有旧点+新点one@Jürgen,您可以将新的
点作为
列表添加到现有列表中。如果列表是可变的,则添加(newPoint)
,而不是将所有元素复制到新列表中。如何知道其是否可变?@Jürgen,看起来您正在创建
listOfList
作为
newarraylist
并在程序中填充。因此,它是可变的,您只需将新点添加到列表中,而无需创建新列表。我正在相应地更新我的答案。
ListIterator<List<Point>> it = listOfList.listIterator();
while (it.hasNext()) {
    List<Point> list = it.next();
    ...
    it.set(listTemp);
}