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、

posted @ 2021-02-28 22:10  一名初学者  阅读(279)  评论(0)    收藏  举报