Map集合

Map

概述

Interface Map<K,V>	//K:键的数据类型;V:值的数据类型

特点

  • 键不能重复,值可以重复。
  • 键和值是一一对应的,每一个键只能找到自己对应的值。
  • (键 + 值)这个整体我们称之为 键值对 或者 键值对对象 ,在Java中叫做 Entry对象。

Map集合的方法

V put(K key,V value);				  //添加元素
//如果要添加的键不存在,会把键值对都添加到集合中,如果要添加的键存在,会覆盖原先的值,把原先值当做返回值进行返回
V remove(Object key);				  //根据键删除键值对元素
void clear();						 //移除所有的键值对元素
boolean containsKey(Object key);	   //判断集合是否包含指定的键
boolean containsValue(Object value);   //判断集合是否包含指定的值
boolean isEmpty();					 //判断集合是否为空
int size();							//集合的长度,也就是集合中键值对的个数

遍历Map集合

Map集合的获取功能

Set<K> keySet();				//获取所有键的集合
V get(Object key);				//根据键获取值
Set<Map.Entry<K,V>> entrySet();	 //获取所有键值对对象的集合
K getKey();						//获得键
V getValue();					//获得值

HashMap

  • HashMap的键,本质上就是HashSet。
  • HashMap的键要求不允许重复,也要重写hashCode和equals方法。

特点

  • HashMap是Map里面的一个实现类;
  • 没有额外需要学习的特有方法,直接使用Map里面的方法就可以了;
  • HashMap跟HashSet一样底层是哈希表结构的。

HashMap小结

  • HashMap底层是哈希表结构的;
  • 依赖hashCode方法和equals方法保证 键 的唯一;
  • 如果 键 要存储的是自定义对象,需要重写hashCode方法和equals方法

TreeMap

  • TreeMap的键,本质上就是TreeSet。
  • TreeMap的键,,不允许重复,需要让键实现Comparable接口,或者提供一个Comparator比较器对象。

希望和大家多多交流学习,如果文章有误,请及时留言指正,谢谢!!!

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页