2016-06-27 19 views
-4

3番目の位置に配列に文字列を追加しようとしています。ループの後に実行する必要があるためです。特定の位置の配列に変数を追加する

ArrayList<String> namesArray = new ArrayList<>(); 
namesArray.add(3, mString); 

これは、外見上の外見を示していますが、これはできませんか?

java.lang.IndexOutOfBoundsException: Invalid index 3, size is 0 
+0

配列の定義を表示できますか? – SpaceCore186

+0

完全なコードを表示 – alway5dotcom

+0

再度確認してください –

答えて

2

を取得することはありません

arrayList.add(n, value); 

その結果、addの後にはarrayList.get(n)にその値が入ります。 arrayList.get(3)mStringになるように整理しようとしています。ただし、ArrayListは連続した要素のリストでなければなりません。 「疎配列」にすることはできません。つまり、arrayList.get(3)が存在する場合は、arrayList.get(0),arrayList.get(1)、およびarrayList.get(2)も存在する必要があります。

これらの値をどのようにしたいのか分かりません(おそらくnull?)、設定する必要があります。 JavaのArrayListには、ギャップをデフォルト値で自動的に埋め込むaddメソッドがありません。 3 nullsを次のように配列に追加できます。

arrayList.addAll(Arrays.asList(new String[3])); 
-1

あなたはこのように、インデックス3の前に空の文字列の配列を埋める必要があります。

namesArray.add(""); 
namesArray.add(""); 
namesArray.add(""); 

次に、あなたが言うとき、その例外

関連する問題