在List中的项之间添加项的最简单方法

时间:2014-10-25 21:10:34

标签: java list arraylist


在List中的所有项目之间添加项目的最简单方法是什么?

例如,字符串列表

{"1", "2", "3"}

变为

{"1", ",", "2", "," "3"}


修改1
我的第一次天真的尝试崩溃并烧毁了HARD(不要这样做):

    for (int i=0; i < list.size(); i++) {
        if(i==0) continue;
        if(i==list.size()) continue;
        list.add(i, new String(","));
    }

2 个答案:

答案 0 :(得分:2)

您有一种非常功能方式来思考您的问题。这就是我要做的事情:

// use ArrayList, it is very easy to handle and comes with all necessary methods as Payam already said
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");

// this is the actual solution:
for (int i = 1; i < list.size(); i += 2) {
    list.add(i, ",");
}

// and this is just for testing (printing) the list
for (String s : list) {
    System.out.print("'"+s + "' ");
}

预期结果将是:

'1' ',' '2' ',' '3'

所以,你循环浏览你的清单 首先:您的索引i从1开始(您不想在第一个元素之前添加任何)。

然后而不是将索引递增1(i++)而是将其递增2(i+=2)。这样,您的索引就会指向列表中的每个偶数位置。

最后您希望使用add(index, value) 新值(此处为,)添加到指定位置的列表中。添加新值以定位任何位置将移动列表中的以下元素&#34;一个位于左侧&#34;。它们不会被覆盖(仅移动到另一个索引),您仍然可以从头到尾循环列表,因为您不关心它是否大小增长。

答案 1 :(得分:0)

为什么不使用ArrayList,更容易添加和删除项目。

添加:

ArrayList<Integer> arrlist = null;
arrlist.add(0, 2);
....

卸下:

arrlist.remove(index);