ホームページ  >  記事  >  Java  >  同じキーに関連付けられた複数の値を HashMap に保存および取得するにはどうすればよいでしょうか?

同じキーに関連付けられた複数の値を HashMap に保存および取得するにはどうすればよいでしょうか?

DDD
DDDオリジナル
2024-10-25 10:04:02975ブラウズ

How can you store and retrieve multiple values associated with the same key in a 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。