1.Map接口下有几个子类,各自有什么特点?
(1)常见的子类有HashMap 、 LinkedHashMap 、TreeMap 、Hashtable
(2)特点
1)HashMap:底层采用哈希表结构,需要重写hashCode和equals方法,保证存储元素的唯一性,元素存储不一定有序
2)LinkedHashMap:是HashMap的子类,底层加入链表结构,保证存取顺序一致,其他和HashMap类似
3)TreeMap:底层采用二叉树数据结构,存储元素需要实现内部比较器,或则在创建TreeSet对象的时候传入一个外部比较器。元素按照比较器的规则进行排序存储
8)Hashtable:底层也是hash表结构,和HashMap的主要区别是它是线程安全性,效率低,所以基本被HashMap代替,但是它有一个Properties子类,可以进行IO流相关操作,比较常使用
2.目前为止,我们所学的遍历map集合有几种方式?
(1)主要有两种
1)调用map的keyset方法获取键值Set集合,遍历set集合获取map的值
2)调用map的entryset方法获取键值对对象的set集合,通过遍历set集合获取map的键和值
3.请用自己的语言描述你所了解的集合体系
(1)集合包含两大类,一个是单列集合(Collection),一个是双列集合(Map)
(2)单列集合存储单个元素,主要分为List和Set两大类,List存储有序,可以存储重复元素,Set集合存储不一定有序(除了LinkedHashSet)不能存储重复元素
(3)Map集合存储是键值对,其中键不能重复,值可以重复,一般存储具有相关联系的一对数据,常见的实现类有HashMap 、 LinkedHashMap 、TreeMap 、Hashtable
|
|