迭代ArrayList并动态删除和添加特定索引处的元素

时间:2017-11-08 15:21:51

标签: java arraylist iterator nlp

我正试图找到我的问题的答案,但似乎没有什么特别的,但如果这是重复的,我道歉(我也是java的新手)。

所以说我有一个包含以下内容的ArrayList:

[I, love, computer, science, and, applied, mathematics]

我想更改数组以便

[I, love, computer science, and, applied mathematics] 

基本上,我想删除“计算机”和“科学”,并在该特定位置插入“计算机科学”。然后迭代器必须继续从“和”开始,并对“应用”和“数学”做同样的事情。

我正在考虑使用带有索引i的forloop,但我知道在不使用迭代器的情况下从列表中动态删除是不好的。我也可以使用LinkedList,但我不确定索引会如何改变。

我真的很感激一些建议!谢谢!

1 个答案:

答案 0 :(得分:0)

如果列表中的那些对象是字符串,则无需对集合执行for循环,只需remove添加新元素

List<String> xyzList = new ArrayList<>(
        Arrays.asList("I", "love", "computer", "science", "and", "applied", "mathematics"));
System.out.println(xyzList);
int index = xyzList.indexOf("computer");
xyzList.remove("computer");
xyzList.remove("science");
xyzList.add(index, "computer science");
System.out.println(xyzList);

但是嘿......小心一点,想想将要发生的事情是那些元素不在列表中......:)