集合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