Java集合-Map 集合

一、Map 集合

1.1、Map 集合概述和使用

1.1.1、Map 集合概述

  • Map 集合:
    • lnterface Map<K,V> K:键的类型;V:值的类型
    • 将键映射到值的对象。
    • 不能包含重复的键;每个键可以映射到最多一个值。

1.1.2、Map 集合的使用

  • 创建 Map 集合的对象
    • 多态的方式创建
    • 具体的实现类 HashMap
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

// V put​(K key,V value):将指定的值与该映射中的指定键相关联。
map.put("it001","林青霞");
map.put("it002","王祖贤");
map.put("it003","张曼玉");
map.put("it003","柳岩");  // 键值重复,新数据替换旧数据

// 输出集合对象
System.out.println(map);

1.2、Map 集合的基本功能

方法名 说明
V put(K key,V value) 添加元素
V remove(Object key) 根据键删除值对元素
void clear() 移除所有的键值对元素
boolean isEmpty() 判断集合是否为空
boolean containsKey(Object key) 判断集合是否包含指定的键
boolean containsValue(Object value) 判断集合是否包含指定的值
int size() 集合的长度,也就是集合中键值对的个数

1.2.1、put(K key,V value),remove(Object key) 方法

  • put(K key,V value):添加键值对。
  • remove(Object key):根据键删除值对元素,并返回被删除的元素。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");
map.put("it002","张曼玉");
map.put("it002","柳岩");  // 键值重复,新数据替换旧数据

map.remove("it001");

// 输出集合对象
System.out.println(map);

1.2.2、clear(),isEmpty() 方法

  • clear():移除所有的键值对元素。
  • isEmpty():判断集合是否为空。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");

// 清空元素
map.clear();

// 判断集合是否为空
System.out.println(map.isEmpty());

// 输出集合对象
System.out.println(map);

1.2.3、containsKey(Object key),containsValue(Object value) 方法

  • containsKey(Object key):判断集合是否包含指定的键。
  • containsValue(Object value):判断集合是否包含指定的值。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");

System.out.println(map.containsKey("it001"));

System.out.println(map.containsValue("林青霞"));

// 输出集合对象
System.out.println(map);

1.2.4、size() 方法

  • size():集合的长度,也就是集合中键值对的个数。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");

System.out.println(map.size());

// 输出集合对象
System.out.println(map);

1.3、Map 集合的获取功能

方法名 说明
V get(Object key) 根据键获取值
Set<K> keySet() 获取所有键的集合
Collection<V> values() 获取所有值的集合
Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合

1.3.1、get(Object key) 方法

  • get(Object key):根据键获取值。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");

System.out.println(map.get("it001"));

1.3.2、Set<K> keySet() 方法

  • Set<K> keySet():获取所有键的集合。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");

// 获取并存储所有 键 的集合
Set<String> str = map.keySet();

// 遍历存储 键 的集合
for (String s : str){
    System.out.println(s);
}

1.3.3、Collection<V> values() 方法

  • Collection<V> values():获取所有值的集合。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");

// 获取并存储所有 值 的集合
Collection<String> str = map.values();

// 遍历存储 值 的集合
for (String s : str){
    System.out.println(s);
}

1.3.4、Set<Map.Entry<K,V>> entrySet() 方法

  • Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();

map.put("it001","林青霞");
map.put("it002","林青霞");

// 获取所有键值对对象的集合
Set<Map.Entry<String, String>> en = map.entrySet();

// 遍历键值对对象的集合,得到每一个键值对对象
for(Map.Entry<String,String> me : en){
    // 通过 Map.Entry<K,V> 集合中的 getKey() 和 getValue() 方法获取键值对对象的键和值
    String key = me.getKey();
    String value = me.getValue();
    System.out.println(key+", "+value);
}
posted @ 2021-02-20 15:54    阅读(143)  评论(0)    收藏  举报