用两个或多个元素替换列表中的单个元素,而不破坏其余元素的顺序。

3
有没有办法在不干扰列表其余部分的情况下用两个或更多其他元素替换列表中的单个元素?我知道你可以用另一个元素替换一个元素,但我想要添加多个元素。使用情况是,我想根据特定条件将给定元素拆分为两个或更多元素。
例如:假设列表包含图形上从节点A到节点F的路径,如下所示: A->B->C->D->E->F 我想用两个其他元素X和Y替换节点C。最终列表应如下所示: A->B->X->Y->D->E->F
注意:我仍在思考实现方式,并且尚未确定使用任何特定类型的列表(ArrayList、LinkedList等)。

“不干扰列表的其余部分”是什么意思? - Alexis C.
这是哪种列表实现?(它会产生很大的差异)。对于像ArrayList这样的东西,您只需替换一个并在其前面或后面插入另一个。 - Jon Skeet
1
如果列表已排序,我希望保持排序顺序。 - Shetty
当您用元素替换元素时,它们会处于正确的位置还是需要重新排序列表? - brso05
1
如果您想要一个排序集,请查看此链接:https://dev59.com/c2oy5IYBdhLWcg3wKrCs - brso05
显示剩余6条评论
1个回答

5

你可以通过使用 myList.add({index}, {object}) 向Java列表中添加内容。 例如,如果你想在索引3处拆分某个东西,可以这样做:

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

现在,所有的内容都向左移动,newObject1将位于索引4。但是,在for循环中进行此操作时要小心,会变得混乱。


大写的 SetAdd 让我想知道你是否注意到了 java 标签。 - Costi Ciudatu
哎呀,最近接触太多C#了,但原理是一样的。 - Bogdan Balas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接