Set是用来存储唯一且不可重复的对象。实现类包括:HashSet和TreeSet。二者的区别和Map中的HashMap和TreeMap相同。并且Set的实现类实际调用的是Map中的方法,将对象存储在Map的Key中,而Value值为一个自定义的默认值。
HashSet:底层数据结构与HashMap相同(哈希表);
TreeSet:底层数据结构与TreeSet相同(红黑树)存储的对象有序(参考上一篇对TreeMap的讲解)。
测试HashSet:https://github.com/bobobo00/TestHashSet.git
测试TreeSet:https://github.com/bobobo00/TestTreeSet.git
自定义实现HashSet:https://github.com/bobobo00/MyHashSet1.git
内部直接调用上篇文章中实现的Map方法即可,Values为自定义的一个常量。