-2

こんにちは私は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

4 に答える 4

5

参考:ArrayList.add(インデックス、要素)

 void add(int index, E element)

このリストの指定された位置に、指定された要素を挿入します。現在その位置にある要素 (存在する場合) と後続の要素を右にシフトします (インデックスに 1 を追加します)。

Androidでも動作するはずです...

于 2012-06-04T05:46:00.293 に答える
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]
于 2012-06-04T05:47:32.510 に答える
1

既存のインデックスに追加する必要があるため、これを好きにする必要があります-

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

list.remove(index) は、インデックスの要素を返し、それを削除します。

于 2012-06-04T05:48:33.400 に答える
0

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

void add(int index, E object)

指定されたオブジェクトをこの ArrayList の指定された位置に挿入します。オブジェクトは、指定された位置で前の要素の前に挿入されます。位置がこの ArrayList のサイズと等しい場合、オブジェクトは最後に追加されます。

パラメーター:

index: オブジェクトを挿入するインデックス。

object: 追加するオブジェクト。

スロー

|| ロケーション < 0 の場合の IndexOutOfBoundsException || > サイズ()

于 2012-06-04T05:53:44.803 に答える