Java -- Map

HashMap

  • 继承关系

  • 遍历

    // initialize a HashMap 
    HashMap<String, Integer> map = new HashMap<>(); 
    // Iterate the map using 
    // for-each loop 
    for (Map.Entry<String, Integer> e : map.entrySet()) 
        System.out.println("Key: " + e.getKey() 
                           + " Value: " + e.getValue()); 
    
  • 如何随机获取一个键值对?

    Map<String,Integer> mapTest = new HashMap<>();
    mapTest.put("one",1);
    mapTest.put("two",2);
    mapTest.put("three",3);
    Random r = new Random();
    int randNum = r.nextInt(3);
    Set keys = mapTest.keySet();
    System.out.println(keys.toArray()[randNum]);
    
  • 有时需要使用有序的HashMap 即 LinkedHashMap

    • 使用LinkedHashMap更改一个键的值不会更改顺序,键的顺序在初始映射时已被固定。

      "key1" -> "value1"
      "key2" -> "value2"
      "key3" -> "value3"
      "key4" -> "value4"
      "key5" -> "value5"
         change to
      "key1" -> "value1"
      "key2" -> "value8"
      "key3" -> "value3"
      "key4" -> "value6"
      "key5" -> "value5"
          //方法
      map.put("key2","value8");
      map.put("key4","value6");
      
  • 注意需要存储相同键不同值时不要使用map

posted @ 2021-03-27 15:08  RQWANG  阅读(51)  评论(0)    收藏  举报