java.util.Map<k,v>集合
Map集合特点:
- 双列集合,一个元素包含两个值:key和value;
- Map集合中的元素,key和value可以相同,也可以不同;
- key不允许重复,但value可以重复;
- key和value是一一对应的。
Map接口常用方法:
根据给定的键key返回对应的值value:
V get(Object key);
把指定的键key和值value添加到Map集合中:
V put(K key,V value);
把指定的键所对应的键值对从Map集合中删去,并返回删除的值value:
V remove(Object key);
获取Map集合中的所有的键,存储到Set集合中:
Set<K> keySet();
Java.util.HashMap<k,v>集合implemes Map<k,v>接口
HashMap集合特点:
底层是哈希表,查询速度特别快:数组+单向链表/红黑树(链表长度>8),提高查询速度;
HashMap是一个无序集合,存储元素和取出元素的顺序可能会不一样
java.util.LinkedHashMap<k,v>集合 extends HashMap<k,v>集合
由于要保证键key的唯一,所以需要重写键的hashcode(),equals() 方法。
LinkedHashMap集合特点:
底层是哈希表+链表(保证了迭代的顺序);
是一个有序的集合,存储元素和取出元素的顺序是一样的。