HashSet 的基本使用

 HashSet 是 Java 中的集合类之一,它实现了 Set 接口,并基于哈希表实现。它不允许集合中存在重复元素,因此可以用来存储一组唯一的对象。

在 HashSet 中,每个元素都对应着一个唯一的键值,这个键值是通过元素的 hashCode() 方法计算出来的。具体来说,HashSet 通过将元素的 hashCode() 方法返回值作为索引来存储元素,因此可以快速地查找和访问元素。

当我们向 HashSet 中添加元素时,它会先计算元素的 hashCode() 值,然后将元素存储到相应的索引位置上。如果在该位置上已经存在一个元素,则会比较新元素与已有元素的 equals() 方法返回值是否相等,如果相等则认为新元素已经存在于集合中,不会被重复添加;否则会将新元素添加到集合中。

HashSet 的优点是可以快速地查找和访问元素,时间复杂度为 O(1);缺点是 HashSet 是无序的,不能保证元素的顺序。此外,由于 HashSet 是基于哈希表实现的,因此它的性能与哈希函数的质量密切相关,如果哈希函数的质量不高,可能会导致元素的分布不均匀,进而影响 HashSet 的性能。

HashSet的基本使用如下:

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        // 创建一个HashSet对象
        HashSet<String> set = new HashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 判断元素是否存在
        System.out.println(set.contains("apple")); // true
        System.out.println(set.contains("pear")); // false

        // 删除元素
        set.remove("banana");

        // 遍历元素
        for (String fruit : set) {
            System.out.println(fruit);
        }

        // 获取元素个数
        System.out.println(set.size()); // 2
    }
}

在上面的代码中,我们首先创建了一个HashSet对象set,并向其中添加了三个元素。然后,我们使用contains方法判断元素是否存在,使用remove方法删除元素,使用for-each循环遍历元素,使用size方法获取元素个数。最终,输出结果为:

true
false
apple
orange
2

可以看到,HashSet可以很方便地实现元素的添加、删除、判断、遍历等操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值