一.HashMap
1.基于哈希表的Map接口的实现,此类的底层数据结构是哈希表,无序且唯一,他不保证顺序永久不变,线程不安全,效率高,并且允许使用null值和null键。
2.put()方法:往Map集合中添加键和值。注意:一个键只能对应一个值,如果键相同则值覆盖
3.方法:
map.clear():清空集合中的所有元素
map.remove():删除某一个键值对
boolean containsKey(Object key):判断集合是否包含指定的键
boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
get():获取集合中键所对应的值
values():获取所有的值
keySet():获取所有的键
size():获取集合的长度
4.集合的遍历
(1)遍历map集合方式1 键找值 keySet() get()
Set<String> keys = hm.keySet();
for(String key:keys){
String v= hm.get(key);
System.out.println(key+"===="+v);
}
(2)遍历map集合的方式2
// Entry 键值对 对象
Set<Map.Entry<String, String>> entries = hm.entrySet();
for (Map.Entry<String, String> entry : entries) {
// K getKey()
// 返回与此项对应的键。
// V getValue()
// 返回与此项对应的值。
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + "===" + value);
}
二.LinkedHashMap
底层数据结构是链表和哈希表,存储的元素有序且唯一,线程不安全,效率高 (唯一性也是靠着重写hashcode方法和equals方法来实现的)
三.TreeMap
底层数据结构是二叉树,可以对键进行排序且键是唯一的,不允许null键,线程不安全,效率高(如果TreeMap的泛型的键是自定义的引用类型的话,他根据构造方法的不同,有两种排序的方法,一种是自然排序(采用无参构造时):自然排序需要元素去实现compareble接口,并且重写compareTO方法,最后结果的顺序是根据返回值的正负和0来决定的。另外一种是比较器排序(采用有参构造时),需要重写compleator方法,根据返回值的正负和0决定排序顺序)。
Map集合的三个子实现类HashMap,LinkedHashMap,TreeMap
最新推荐文章于 2024-03-31 21:52:15 发布