Android Java有一种方法可以将特定索引中的某些对象附加到arraylist中吗?

时间:2012-06-04 05:43:14

标签: java android arraylist

你好,我有ArrayList<String>一些字符​​串。我想在特定索引处插入一个字符串,而不会丢失该索引上的字符串。我知道如何使用list.add(index, string)但它用新的字符串替换索引处的字符串。

例如,我有这个ArrayList:

index 0 => Orange
index 1 => Melon
index 2 => Apple
index 3 => Strawberry
index 4 => Pear
index 5 => Banana

现在我想将 Cherry 添加到索引2,因此结果应为:

index 0 => Orange
index 1 => Melon
index 2 => Cherry 
index 3 => Apple
index 4 => Strawberry
index 5 => Pear
index 6 => Banana

有没有一种简单的方法可以做到这一点,因为它给我带来了麻烦。

4 个答案:

答案 0 :(得分:5)

参考:ArrayList.add(index, element)

 void add(int index, E element)
  

将指定元素插入此列表中的指定位置。   移动当前位于该位置的元素(如果有)和任何元素   右边的后续元素(在索引中加一个)。

也应该在Android上工作......

答案 1 :(得分:3)

add(int index, E element)效果很好:

List<String> list = new ArrayList<String>(Arrays.asList(
                               "Orange", "Melon", "Apple",
                               "Strawberry", "Pear", "Banana"));
System.out.println(list);
list.add(2, "Cherry");
System.out.println(list);

<强>输出:

[Orange, Melon, Apple, Strawberry, Pear, Banana]
[Orange, Melon, Cherry, Apple, Strawberry, Pear, Banana]

答案 2 :(得分:1)

由于您需要附加到现有索引,您需要这样 -

list.add(index, string + list.remove(index));

list.remove(index)将返回索引处的Element,并将其删除。

答案 3 :(得分:0)

请参阅:http://developer.android.com/reference/java/util/ArrayList.html

void add(int index, E object)

将指定的对象插入指定位置的ArrayList中。该对象在指定位置的任何前一个元素之前插入。如果该位置等于此ArrayList的大小,则在末尾添加该对象。

参数:

index:插入对象的索引。

object:要添加的对象。

抛出

当位置&lt;时,

IndexOutOfBoundsException 0 || &GT;尺寸()