Set容器
Set就是我们数学中的集合,其是无续(与你插入元素顺序不一致)且不能够重复的
Set容器的分类
- HashSet:底层由哈希表+红黑树实现,无续(与你插入元素顺序不一致),利用HashSet可以快速查找,效率很高
- LinkedHashSet继承HashSet,其底层是哈希表+双向链表,可以实现迭代有序,但其查找效率相对于HashSet,没有其高
- TreeSet:底层由红黑树实现,可以实现按照元素的大小写进行排序
之间的继承关系如下:
HashSet
HashSet底层就是HashMap的KEY部分,其可以允许为null,非同步(线程不安全)
其大部分的方法都与容器的方法差不多,对于HashSet,我们经常要判定一个元素是否在这个集合之中,我们经常使用pets.contains()
,其返回一个bool值,contains不仅可以判断一个元素是否在集合之中,还可以判断一个集合是否在另一个集合之中pets.containsAll()
。
package collection;
import java.util.*;
public class HashSetlearning {
pub