2011-01-04 6 views
0

の行を上書き。このarraylistに5番目の列を追加したいと思います。 4番目のcolは、結果を5番目の列として加算するための値の集合です。 1行目に4番目の要素が0の場合、5番目の列に結果文字列 "Failure"が表示されます私は4つのCOLSを含む2DのArrayListを有する二次元のArrayList

2次元arraylistのすべての要素を取得して5番目の要素を追加してもよいですか?その後、我々は直接インデックス()とのindexOf()を使用した2D ArrayListに追加することができます方法はあり1DのArrayListの項目 OR で2Dを上書きしますか?誰かがこれで私を助けることができるかどう

はそれを感謝します。

+1

を追加ArrayListの#を使用することができるはずあなたには、いくつかを追加することができますあなたのオブジェクトがどのように構造化されているかを正確に示すコード? – salexander

+1

HERESにコードスニペット: – Jincy

+0

のArrayList Resultarray =新規のArrayList Rarray =新しいArrayListを()。for(int i = 0; i =アミン)&&(compvalue <= AMAX)){ MTYPE = "AutoMatch";}そう MTYPE = "NOMATCH";} IF((I = 0)&&(J ==! 5)){ 連結=連結+ MTYPE; lastflag = 1;}もし(lastflag == 0) 連結=連結+(Resultarray.get(I)に.get(J).toString())+ DELIM;}} Rarray .add(concat); – Jincy

答えて

0

Javaはファーストクラスの多次元配列をサポートしていません。 2次元配列は「配列の配列」です。 Javaでは、配列のサイズ変更もサポートしていません。

String[][] table = /* init from somewhere */; 

for (int i = 0; i < table.length; i++) { 
    String[] row = table[i]; 
    assert (row.length == 4); 
    String[] newRow = Arrays.copyOf(row, 5); 
    assert (newRow.length == 5); 
    newRow[4] = "Failure"; 
    table[i] = newRow; 
} 

あなたが列を追加扱うだろうかおおよそです:あなたはすでにあなたのString [] []テーブル内のデータを持っていると仮定すると、

。 Arrays.copyOf()は配列の内容を '手作業で'コピーするよりはるかに優れていることに注意してください。

(注:このサンプルを実行すると表明火災ように、JVMに-eaフラグを使用)

+0

arraylistと同じことを言いたいことはありますか? – Jincy

0

あなたは

for(ArrayList<Object> a: in aa){ 
    a.add(a.get(3) == 0 ? "failure" : "success") 
} 
+0

私は追加を使用しようとしましたが、それは既存の行に追加されます。 2Dのarraylistの行全体を書き直したい – Jincy

関連する問題