ホームページ >Java >&#&チュートリアル >同じキーに関連付けられた複数の値を HashMap に保存および取得するにはどうすればよいでしょうか?
ハッシュマップ: 単一キーの複数の値の管理
質問:
可能ですかHashMap 内の同じキーに関連付けられた複数の値を保存および取得するには?もしそうなら、最初のキーの 3 番目の値にアクセスするにはどうすればよいですか?
答え:
標準の HashMap は重複したキーを保存できませんが、リストのマップを使用して単一のキーに複数の値を許可する HashMap のような構造。これは単純な Java ソリューションです:
<code class="java">import java.util.HashMap; import java.util.ArrayList; public class MultiValueMapDemo { public static void main(String[] args) { // Create a Map of List to store key-value pairs Map<Object, ArrayList<Object>> multiMap = new HashMap<>(); // Add key-value pairs multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value1"); multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value2"); multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value3"); // Get the third value for the first key Object thirdValue = multiMap.get("keyA").get(2); System.out.println("Third value for keyA: " + thirdValue); } }</code>
このアプローチでは、キーに関連付けられた値がリストに格納される HashMap が作成されます。特定の値にアクセスするには、HashMap から取得した List オブジェクトで get() メソッドを使用できます。この例では、キー「keyA」の 3 番目の値に multiMap.get("keyA").get(2).
を使用してアクセスします。以上が同じキーに関連付けられた複数の値を HashMap に保存および取得するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。