Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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_List - Fatal编程技术网

Java 将列表中的单个元素替换为两个或多个其他元素,而不影响其余元素的顺序

Java 将列表中的单个元素替换为两个或多个其他元素,而不影响其余元素的顺序,java,list,Java,List,有没有一种方法可以用两个或多个其他元素替换列表中的单个元素,而不影响列表的其余部分?我知道您可以用另一个元素替换一个元素,但我希望添加多个元素。用例是,我希望根据特定条件将给定元素拆分为两个或多个元素 例如:假设列表包含图形上从节点A到节点F的路径,如下所示:A->B->C->D->E->F我想用其他两个元素替换节点C,如节点X和节点Y。最后的列表应如下所示: A->B->X->Y->D->E->F 注意:我仍在考虑实现,还没有最终确定使用任何特定类型的列表(ArrayList、LinkedLi

有没有一种方法可以用两个或多个其他元素替换列表中的单个元素,而不影响列表的其余部分?我知道您可以用另一个元素替换一个元素,但我希望添加多个元素。用例是,我希望根据特定条件将给定元素拆分为两个或多个元素

例如:假设列表包含图形上从节点A到节点F的路径,如下所示:
A->B->C->D->E->F

我想用其他两个元素替换节点C,如节点X和节点Y。最后的列表应如下所示:
A->B->X->Y->D->E->F


注意:我仍在考虑实现,还没有最终确定使用任何特定类型的列表(ArrayList、LinkedList等)。

您可以使用myList.add({index},{object})添加到Java列表中; 因此,如果您想在索引3处拆分某些内容,例如,您可以执行以下操作:

myList.set(3, newObject1);
myList.add(3, newObject2);

所以现在所有的东西都移到了左边,newObject1将位于索引4。但是,在for循环中执行此操作时要小心,事情可能会变得混乱。

您所说的“不干扰列表的其余部分”是什么意思?是的,您可以插入元素,但这会将插入元素后的所有元素移回一个…这是什么列表实现?(这有很大的区别。)对于类似ArrayList的东西,您只需替换一个,然后在它之前或之后插入另一个。如果列表已排序,我想保持排序的顺序。也许你想要一个排序集看看这个链接:大写的
set
Add
让我想知道你是否注意到
java
标记。Woops,最近太多的C#,但主要是一样的。