Map体系
* 特点:
1. 存储的元素是有对应关系键值对对象
2. 其中键不能重复,值可以重复
3. 通过键可以找到对应的值
* 常用功能:
V put(K key, V value) 添加一个键值对,如果键已经存在,则用新的值替换旧的值,并返回旧的值
void clear() 清空所有键值对
boolean containsKey(Object key) 判断是否包含指定的键
boolean containsValue(Object value) 判断是否包含指定的值
V get(Object key) 通过指定键找到对应值
boolean isEmpty() 判断集合是否为空
V remove(Object key) 通过键删除整个键值对
int size() 获取集合元素的个数(键值对的对数)
* 遍历功能
Set<K> keySet() 获取包含所有键的集合
Collection<V> values() 获取包含所有值的集合
Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象(Entry)的集合
* 遍历方式
1. 获取键的集合,通过键获取值
2. 获取键值对对象的集合,再通过键值对对象来获取键和值
* 存储自定义对象
* 当HashMap的键为自定义类型,则需要此类重写hashCode和equals方法来保证键的唯一性
LinkedHashMap
* HashMap的子类,是一个存和取元素顺序一致的HashMap
* Hashtable也是Map的实现类,和HashMap的区别:
* HashMap可以存储null键和值,Hashtable不可以
* HashMap线程不安全的效率高,Hashtable线程安全效率低
JDK9的of方法
List,Set,Map中都定义了重载的of方法,可以把多个元素整合成一个集合
注意:
1. 返回的集合是不可变的集合
2. Set的of方法中不能有重复的元素
3. Map的of方法,键不能重复
Debug
* 断点调试,可以查看程序的执行流程
* 操作:
1. 标记断点(哪里不会点哪里)
2. 必须以Debug模式启动程序
如何控制程序的执行:
F8 一步步走
F7 进入调用的方法
|
|