ハッシュマップ。2つのハッシュマップ間で同じ値を持つキーを検索します

santhosh kumar:

以下の2つのハッシュマップがあるとしましょう:

 HashMap<String, Integer> map1  = new HashMap<>(); 
 map1.put("vishal", 10); 
 map1.put("sachin", 30); 
 map1.put("vaibhav", 20); 

 HashMap<String, Integer> map2  = new HashMap<>(); 
 map2.put("Raja", 10); 
 map2.put("John", 30); 
 map2.put("Krishna", 20); 

map1の「vaibhav」とmap2の「krishna」は同じ値です。

同じ値を持つ両方のマップからキーを見つける必要があります。この場合、「vaibhav」と「Krishna」です。

ありがとう。

nice_dev:

あなたは、に時間の複雑さを向上させることができますO(n + m)どこn最初のマップの大きさであり、m第2のマップのサイズです。

  • valuesキーとkeys値として作成することで、これを実現できます。
  • 手順:
    • 各マップを繰り返します。
    • すべての現在のマップ値を新しいマップに格納し、その値を持つすべてのキーをリストに収集し、現在の値とこのリストを新しいマップに配置します。
    • ここで、新しいマップコレクションのいずれかを反復処理し、共通のキーを取得します。これは、印刷するためのそれぞれの値です。

スニペット:

private static void showCommonValueKeys(HashMap<String, Integer> map1,HashMap<String, Integer> map2){
    Map<Integer,List<String>> map1Collect = flipKeyValue(map1);
    Map<Integer,List<String>> map2Collect = flipKeyValue(map2);

    for(Map.Entry<Integer,List<String>> m : map1Collect.entrySet()){
        int key = m.getKey();
        if(map2Collect.containsKey(key)){
            System.out.println("For value " + key);
            System.out.println("First map keys: " + m.getValue().toString());
            System.out.println("Second map keys: " + map2Collect.get(key).toString());
            System.out.println();
        }
    }

}

private static  Map<Integer,List<String>> flipKeyValue(HashMap<String, Integer> map){
     Map<Integer,List<String>> mapCollect = new HashMap<>(); 

     for(Map.Entry<String,Integer> m : map.entrySet()){
        String  key = m.getKey();
        int val = m.getValue();
        mapCollect.putIfAbsent(val,new ArrayList<>());
        mapCollect.get(val).add(key);
     }

     return mapCollect;
}

デモ: https : //onlinegdb.com/SJdcpbOXU

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

等しい値と同じキーセットの2つのハッシュマップを比較しますか?

分類Dev

Java:ハッシュマップで同じ値を持つキーのセットを取得する方法

分類Dev

Javaの:どのように最初のハッシュマップの値を保存し、同じキーを持つ2つのハッシュマップをマージします

分類Dev

2つの値を持つハッシュマップjava

分類Dev

数値の範囲を値として持つハッシュマップのキーを取得します

分類Dev

Clojure-キー値に基づいて2つのハッシュマップをマップします

分類Dev

2つのフレーバーを持つアプリは、同じキーハッシュを生成します

分類Dev

ハッシュマップのリストを、キーを上書きすることなく、同じマップ上で1つに連結します。

分類Dev

1つのハッシュマップの2つ以上のキーの整数値を別のハッシュマップの2つの値と比較する

分類Dev

同じ値を持つ複数のキーをJavaのハッシュマップに挿入するにはどうすればよいですか?

分類Dev

同じキーを持つ異なるハッシュマップの値の合計を計算するにはどうすればよいですか?

分類Dev

ハッシュマップはすべてのキーに同じ値を表示します

分類Dev

複数の値を持つハッシュマップから値の1つを取得します

分類Dev

Clojureで2つのハッシュマップをマージする方法は?

分類Dev

2つのハッシュをマージし、キーでグループ化します

分類Dev

特定の値で2つのハッシュをマージします

分類Dev

ハッシュマップから任意の値を抽出します(キーごとに1つ)

分類Dev

相互依存する値を持つハッシュマップのclojure仕様?

分類Dev

Javaのハッシュマップは2つの重複キーを許可しているようです

分類Dev

Jtableに1つのキーと複数の値を持つハッシュマップ?

分類Dev

ハッシュマップから可変量の属性(1つ以上)を持つオブジェクトを検索します

分類Dev

2つのワイルドカードハッシュマップをワイルドカードハッシュマップに結合します

分類Dev

便利な構文でハッシュマップ内の文字列キーを検索できますか?

分類Dev

2つのハッシュマップを比較する方法

分類Dev

Javaで同じキーを持つ2つのマップをマージし、値を加算します

分類Dev

同じキーハッシュマップの複数の値をループJavaに保存する

分類Dev

2つのハッシュマップから共通のキーと値のペアを取得する方法

分類Dev

ハッシュマップに重複する値を持つキーを印刷する方法は?

分類Dev

キーを検索してハッシュマップから値を出力する

Related 関連記事

  1. 1

    等しい値と同じキーセットの2つのハッシュマップを比較しますか?

  2. 2

    Java:ハッシュマップで同じ値を持つキーのセットを取得する方法

  3. 3

    Javaの:どのように最初のハッシュマップの値を保存し、同じキーを持つ2つのハッシュマップをマージします

  4. 4

    2つの値を持つハッシュマップjava

  5. 5

    数値の範囲を値として持つハッシュマップのキーを取得します

  6. 6

    Clojure-キー値に基づいて2つのハッシュマップをマップします

  7. 7

    2つのフレーバーを持つアプリは、同じキーハッシュを生成します

  8. 8

    ハッシュマップのリストを、キーを上書きすることなく、同じマップ上で1つに連結します。

  9. 9

    1つのハッシュマップの2つ以上のキーの整数値を別のハッシュマップの2つの値と比較する

  10. 10

    同じ値を持つ複数のキーをJavaのハッシュマップに挿入するにはどうすればよいですか?

  11. 11

    同じキーを持つ異なるハッシュマップの値の合計を計算するにはどうすればよいですか?

  12. 12

    ハッシュマップはすべてのキーに同じ値を表示します

  13. 13

    複数の値を持つハッシュマップから値の1つを取得します

  14. 14

    Clojureで2つのハッシュマップをマージする方法は?

  15. 15

    2つのハッシュをマージし、キーでグループ化します

  16. 16

    特定の値で2つのハッシュをマージします

  17. 17

    ハッシュマップから任意の値を抽出します(キーごとに1つ)

  18. 18

    相互依存する値を持つハッシュマップのclojure仕様?

  19. 19

    Javaのハッシュマップは2つの重複キーを許可しているようです

  20. 20

    Jtableに1つのキーと複数の値を持つハッシュマップ?

  21. 21

    ハッシュマップから可変量の属性(1つ以上)を持つオブジェクトを検索します

  22. 22

    2つのワイルドカードハッシュマップをワイルドカードハッシュマップに結合します

  23. 23

    便利な構文でハッシュマップ内の文字列キーを検索できますか?

  24. 24

    2つのハッシュマップを比較する方法

  25. 25

    Javaで同じキーを持つ2つのマップをマージし、値を加算します

  26. 26

    同じキーハッシュマップの複数の値をループJavaに保存する

  27. 27

    2つのハッシュマップから共通のキーと値のペアを取得する方法

  28. 28

    ハッシュマップに重複する値を持つキーを印刷する方法は?

  29. 29

    キーを検索してハッシュマップから値を出力する

ホットタグ

アーカイブ