java:Set集合中HashSet的常用方法及其使用

Set集合

首先我们来了解Set集合,Set继承了Collection接口,Set中使用到的方法都是从Collection中继承的,它自己并没有声明其他的方法。

Set接口中所包含的方法如下,实现Set的类也实现了这些接口。

int size(); //获取集合中元素的个数; boolean isEmpty(); //判断集合是否为空; boolean contains(Object element) //判断是否包含某元素; boolean add(E element) //向集合中添加某元素; boolean remove(Object element) //从集合中移除某元素; Iterator<E> iterator(); //返回当前集合元素的反复器 iterator; void clear(); //清空当前集合;

JDK中提供了实现Set接口的3个实用的类:HashSet 类、TreeSet 类和 LinkedHashSet 类。

接下来我们主要讲讲HashSet类。

HashSet类是采用Hash表实现了Set接口。一个HashSet对象中元素存储在一个Hash表中,其中的元素有个特性:没有固定的顺序。另外,它还具有唯一性,这是通过重写hashCode()和equals()方法来实现的。

HashSet的常用方法请参考上文中讲到的方法。

HashSet常用方法示例

1.创建存放字符串的HashSet集合

Set<String> hashset = new HashSet<>();

2.像集合中添加元素

hashset.add("123");
hashset.add("456");
hashset.add("789");

3.判断集合是否为空

boolean empty = hashset.isEmpty();
System.out.println(empty);

4.判断集合是否包含123

boolean contains = hashset.contains("123");
System.out.println(contains);

5.移除123并打印输出

hashset.remove("123");
System.out.println(hashset);

6.使用迭代器来输出HashSet

Iterator<String> iterator = hashset.iterator();
while (iterator.hasNext()){
    System.out.println(iterator.next());
}

输出结果:

false true [456,789] 456 789

HashSet中的无序性

public static void main(String[] args) {
        // 创建存储字符串的HashSet集合
        Set<String> objects = new HashSet<>();
        // 往集合中添加元素
        objects.add("123");
        objects.add("aa");
        objects.add("a");
        // 获取迭代器,遍历集合所有元素
        Iterator<String> iterator = objects.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }

输出结果:

1.aa 2.a 3.123
经验分享 程序员 微信小程序 职场和发展