Map集合两种遍历方式的思路是什么?
a.通过键遍历
1.获取keySet()并遍历
2.获取集合中每一个key值,然后调用get(key)方法获得对应的值
3.输出 key 和 value
b.通过'键值对'对象遍历
1.获取entrySet()并遍历
2.获取集合中每一个'键值对'Entry对象
3.调用 entry.getKey() 和 entry.getValue() 输出.
6.源码分析
在 HashMap 内部通过一个 Entry 内部类实现了 Map.Entry 接口
static class Entry<K,V> implements Map.Entry<K,V> {}Map 集合的两个子类
1.LinkedHashMap 的概述和使用
特点: 同时拥有 Linked 和 HashMap 特点.
2.TreeMap
特点:
底层的二叉树数据结构只有key有关,存入 TreeMap 的时候会比较key
我们需要让key具有比较性(自然顺序)或者传一个比较器,完成比较
TreeSet 低层就是 TreeMap 实现的
3.HashMap 和 Hashtable 有什么区别?
a.Hashtable 是JDK1.0版本出现的,是线程安全的,效率低
HashMap 是JDK1.2版本出现的,是线程不安全的,效率高
b.Hashtable 不可以存储null键和null值
HashMap 可以存储null键和null值
|
|