2012-04-12 26 views
1

私は、それぞれが文字列値と整数カウントを持つ2つの同一の配列リストをjavaに持っています。今、私はこれらの配列リストを1つにマージする必要があります。値が存在する場合は、カウントを増やします。値が存在しない場合は、値とカウントをそのまま追加します。Javaで2つのArrayListをマージする

質問は、とにかく私はそれをforループで反復し、すべての値をチェックする以外に優雅に行うことができますか?

+1

いくつかの入力/出力ペアの例がありますか?あなたの質問は少し曖昧で、それはそれを少しクリアすることができます – mfrankli

+0

Collection.addAllメソッドを使用します。 – adatapost

+0

マップはこのようなタスクに役立ちます。 –

答えて

3

カスタムロジックがあまりにも多すぎます。反復、チェック、追加 - これが最善の方法であり、より読みやすくなります。

技術的には、guavaのMultisetを使用することができますが、コレクション自体がカウントされますので、もっと多くの作業が必要になる場合があります。

1

質問がありますが、とにかく 以外のすべての値をチェックしていますか?

短い答えはいいえ。

HashMapをコンテナとして使用する方がよいでしょう。少なくとも、マージ操作はより高速に実行されます。いずれにしてもループが必要です。 (あなたのカウントを更新できるaddAll/putAllがないので)。

関連する問題