私は、それぞれが文字列値と整数カウントを持つ2つの同一の配列リストをjavaに持っています。今、私はこれらの配列リストを1つにマージする必要があります。値が存在する場合は、カウントを増やします。値が存在しない場合は、値とカウントをそのまま追加します。Javaで2つのArrayListをマージする
質問は、とにかく私はそれをforループで反復し、すべての値をチェックする以外に優雅に行うことができますか?
私は、それぞれが文字列値と整数カウントを持つ2つの同一の配列リストをjavaに持っています。今、私はこれらの配列リストを1つにマージする必要があります。値が存在する場合は、カウントを増やします。値が存在しない場合は、値とカウントをそのまま追加します。Javaで2つのArrayListをマージする
質問は、とにかく私はそれをforループで反復し、すべての値をチェックする以外に優雅に行うことができますか?
カスタムロジックがあまりにも多すぎます。反復、チェック、追加 - これが最善の方法であり、より読みやすくなります。
技術的には、guavaのMultiset
を使用することができますが、コレクション自体がカウントされますので、もっと多くの作業が必要になる場合があります。
質問がありますが、とにかく 以外のすべての値をチェックしていますか?
短い答えはいいえ。
HashMapをコンテナとして使用する方がよいでしょう。少なくとも、マージ操作はより高速に実行されます。いずれにしてもループが必要です。 (あなたのカウントを更新できるaddAll/putAllがないので)。
いくつかの入力/出力ペアの例がありますか?あなたの質問は少し曖昧で、それはそれを少しクリアすることができます – mfrankli
Collection.addAllメソッドを使用します。 – adatapost
マップはこのようなタスクに役立ちます。 –