Java(Set集合的子类)
Set集合的子类
一、HashSet集合(实现类)
1、概念
java.util.HashSet集合 implements Set接口
2、特点
1、底层数据结构是:哈希表(查询的速度快)
2、存储无序
3、元素唯一
4、没有索引,不能使用普通for循环遍历(迭代器遍历、foreach遍历)
3、创建对象格式
HashSet<?> hashSet = new HashSet<>();或者
Set<?> set = new HashSet<>();//多态
4、遍历方法
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
set.add(10);
set.add(20);
set.add(15);
set.add(5);
//第一种遍历:foreach
for (Integer i: set) {
System.out.println(i);
}
//第二种遍历:迭代器Iterator
Iterator<Integer> it = set.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
5、HashSet存储自定义类型的元素
给HashSet存放自定义类型元素时,需要重写对象中的hashCode和equals方法,
建立自己的比较方式,才能保证HashSet集合的对象唯一;
二、LinkedHashSet集合(实现类)(HashSet子类)
概念
java.util.LinkedHashSet集合 extends HashSet集合
特点
1、底层数据结构是:哈希表(数组+链表/红黑树)+链表:多了一条链表(记录元素的存储顺序,保证元素有序)
2、

浙公网安备 33010602011771号