Map简介

Java集合系列

Map(映射)

一. Map<K,V>

  1. Map是映射的顶级接口,实现类主要有:HashMap(重点) HashTable(面试)。

  2. 特点:

    1. 将键映射到值的对象(键值对)
    2. 键唯一,值不唯一。即一个键只能映射一个值,一个值可以对应多个键。
    3. 键值对在map中以entry结构储存。
    4. 无法保证元素的存入顺序
  3. 主要方法:

    1. V put(K key,V value)

      将指定的值与此映射中的指定键关联(可选操作)。

      如果当前map中没有要放入的这个元素的键,可以直接添加到map中,返回NUll;

      如果当前map中对于要放入的元素的键已经存在了,则用新的值将原来该键对应的值覆盖掉,返回旧值;

    2. Void clear()

      从此映射中移除所有映射关系。

    3. Boolean containsKey(Object Key)

      如果此映射包含指定键的映射关系,则返回 true

    1. boolean containsValue(Object value)

      如果此映射将一个或多个键映射到指定值,则返回 true

    2. V get(Object key)

      返回指定键所映射的值;

      如果此映射不包含该键的映射关系,则返回 null。

    3. boolean isEmpty()

      如果此映射未包含键-值映射关系,则返回 true。

    4. void putAll(Map<? extends K,? extends V> m)

      从指定映射中将所有映射关系复制到此映射中(可选操作)。

    5. V remove(Object key)

      如果存在一个键的映射关系,则将其从此映射中移除。

    6. Set keySet()

      返回此映射中包含的键的 Set 视图。

    7. Set<Map.Entry<K,V>> entrySet()

      返回此映射中包含的映射关系的 Set 视图

  4. 遍历

    1. keySet获取到所有的key,遍历key,根据key去查找当前key对应的值

      Set<Integer> keys = map.keySet();
      for (int i:keys) {
          System.out.println(i+":"+map.get(i));
      }
      
    2. 使用entrySet方法来获取Entry的set集合,遍历set集合。调用Entry中的方法获取当前Entry的key和value

      Set<Map.Entry<Integer, String>> entries = map.entrySet();
      for (Map.Entry<Integer, String> entry:entries) {
          System.out.println(entry.getKey()+":"+entry.getValue());
      }
      
posted @ 2020-07-04 19:05  仰观云  阅读(433)  评论(0编辑  收藏  举报
Live2D