1
Orderid     Amount      order id    Amount
c4         1            c2          60
c2         10           c3          38
c2         20           c4          13
c2         30           null           null
c3         11           null           null
c3         13           null           null
c3         14           null           null
c4         12           null           null

上記は 2 つの配列 (注文 ID、金額) です。最初の配列は、重複した注文 ID とその値を含む要素で構成されています。2 番目の配列に示すように、個別の注文 ID とその合計を見つけようとしています。そのために、以下のコードを書きました。動いていない 。助けてください

for(int y=0;y<data.length;y++) {
                  if(data[y][0].equals(data[y+1][0])==true)
                  { 
                      tx=(Double) data[y][1]+(Double)data [y+1][1];

                     data[y+1][1] = tx;
                     data[y][1]=tx;
                     data[y][0]=null;
                  }    
                  if(y+1 > data.length)
                  {
                      break;
                  }
                 System.out.println("Tx="+tx);
                  }
4

2 に答える 2

3

HashMap<String><Integer>を使用して注文 ID と合計を追跡することを検討してください。配列内のアイテムを反復処理し、注文 ID/金額のペアごとに、注文 ID がハッシュマップにあるかどうかを確認します。まだそこにない場合は、その量とともにハッシュマップに挿入します。そうであれば、ハッシュマップのその場所に金額を追加します。

于 2013-01-25T18:46:37.943 に答える
0

Guava の ListMultimap インターフェイスに値を入力します。重複キーと重複キー/値ペアが許可されます。

詳細: Java HashMap 重複要素

于 2013-01-25T18:45:45.830 に答える