2020-12-14

集合Set

概念:
Set父接口为Collection,很多方法是继承过来的,所有很多方法与List相同
它不允许出现重复元素
不保证集合中元素的顺序
允许包含值为null的元素,但最多只能有一个null元素
HashSet、TreeSet是Set的两个实现类, 两个类的方法相同,但是方法运行后结果有的不同

HashSet和TreeSet对比

相同点:

没有下标
不可手动排序
元素顺序与加入顺序无关
同一个元素不可加入多次
遍历方式相同

不同点

HashSet:元素顺序不可测,与数学上元素集合概念相同
TreeSet:元素顺序与元素的排序规则有关
HashSet对元素无要求,而TreeSet对元素有要求,即要求元素必须有排序规则。
元素排序规则与List中元素排序规则是相同的
HashSet:底层是算法是Hash算法:所以查询速度快,但是没有ArrayList快
TreeSet:底层算法是树: 查询慢,插入快些。

HashSet相关操作

创建
HashSet set = new HashSet();

长度
set.size();

添加
String s = “a”;
set.add(s);

删除
set.remove(s);

清空
set.clear();

遍历Set
foreach
iterator

上一篇:Collection框架中实现比较要实现什么接口?


下一篇:Java知识点