1

Java には、文字列値と整数カウントを持つ 2 つの同一の配列リストがあります。ここで、これらの配列リストを単一の配列リストにマージする必要があります。値が存在する場合はカウントをインクリメントし、値が存在しない場合は値とカウントをそのまま追加します。

問題は、for ループで反復処理を行い、すべての値をチェックする以外に、優雅にできることはありますか?

4

2 に答える 2

3

できません。カスタム ロジックが多すぎます。反復、チェック、追加 - これが最良のアプローチであり、読みやすくなります。

技術的には、Multisetfrom guava を使用できますが、カウントはユーザーではなくコレクション自体によって処理されるため、さらに作業が必要になる場合があります。

于 2012-04-12T05:46:23.220 に答える
1

問題は、for ループで反復処理を行い、すべての値をチェックする以外に、優雅にできることはありますか?

短い答えはノーです。

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

于 2012-04-12T05:49:00.127 に答える