一、Set的内部是基于Map,其值存储在k中,由于key是唯一的,故Set内的值具有不可重复性
由于TreeSet中含有SortSet,故其值的存储是有序的(大多基于Tree的都是有序的)
二、Map接口下的子类
a:这三个类都是Map接口下的常用子类,Hashtable基于哈希表实现,TreeMap基于红黑树实现
HashMap基于哈希表+红黑树实现(jdk1.8之后,jdk1.8基于哈希表)
b:HashMap允许(K,V)为null
Hashtable不允许(K,V)为null(任意一个为空都不行)(基于哈希表,数组下标当然不能为空,NPE)
TreeMap只允许V为null (基于比较器,为空产生NPE)
c:HashMap与TreeMap采用异步处理,线程不安全,性能较高 Hashtable使用synchronized同步方法,线程安全,性能较低(锁的是整各hash表,读读互斥)
三、HashMap与ConcurrentHashMap是没有关系的,不要被名字搞错了