Map:
Map不是collection的子接口或者实现类。Map是一个接口。set中很多底层方法都调用的是map。
|-- Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线程同步的。jdk1.0效率低
|-- HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。将hashtable替代。jdk1.2效率高
|-- TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序
基本共性方法:

Map集合的两种取出方法:
1:keySet:将所有的键值存入到set集合中,然后通过迭代的方式取出set中的值。通过get来获取

2:Set<Map.Entry<k,v>> entrySet 将map集合中的映射关系存入到set集合中。这个关系的数据类型就是Map.Entry (其实Entry也是一个接口,它是Map接口中的一个内部接口)

例1:对学生对象的年龄进行升序排序,且相同年龄相同姓名默认为一个人。不同地址之间进行覆盖操作(因此数据是以键值对的形式存在的可以使用TreeMap进行排序)


网友评论