你好,我有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
有没有一种简单的方法可以做到这一点,因为它给我带来了麻烦。
答案 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;尺寸()