AI 概述
添加元素判断元素是否存在删除元素计算大小迭代 HashSet HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的,即不会记录插入的顺序。 HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访...
目录
文章目录隐藏
  1. 添加元素
  2. 判断元素是否存在
  3. 删除元素
  4. 计算大小
  5. 迭代 HashSet

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。

HashSet 允许有 null 值。

HashSet 是无序的,即不会记录插入的顺序。

HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。

HashSet 实现了 Set 接口。

 Java 中的 HashSet

HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。

基本类型对应的包装类表如下:

基本类型 引用类型
boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character

HashSet 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.HashSet; // 引入 HashSet 类

以下实例我们创建一个 HashSet 对象 sites,用于保存字符串元素:

HashSet<String> sites = new HashSet<String>();

添加元素

HashSet 类提供类很多有用的方法,添加元素可以使用 add() 方法:

// 引入 HashSet 类      
import java.util.HashSet;

public class Test {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Mybj");  // 重复的元素不会被添加
        System.out.println(sites);
    }
}

执行以上代码,输出结果如下:

[Baidu, Mybj, Zhihu, Taobao]

在上面的实例中,Mybj 被添加了两次,它在集合中也只会出现一次,因为集合中的每个元素都必须是唯一的。

判断元素是否存在

我们可以使用 contains() 方法来判断元素是否存在于集合当中:

// 引入 HashSet 类      
import java.util.HashSet;

public class Test {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Mybj");  // 重复的元素不会被添加
        System.out.println(sites.contains("Taobao"));
    }
}

执行以上代码,输出结果如下:

true

删除元素

我们可以使用 remove() 方法来删除集合中的元素:

// 引入 HashSet 类      
import java.util.HashSet;

public class Test {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Mybj");     // 重复的元素不会被添加
        sites.remove("Taobao");  // 删除元素,删除成功返回 true,否则为 false
        System.out.println(sites);
    }
}

执行以上代码,输出结果如下:

[Baidu, Mybj, Zhihu]

删除集合中所有元素可以使用 clear() 方法:

// 引入 HashSet 类      
import java.util.HashSet;

public class Test {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Mybj");     // 重复的元素不会被添加
        sites.clear();  
        System.out.println(sites);
    }
}

执行以上代码,输出结果如下:

[]

计算大小

如果要计算 HashSet 中的元素数量可以使用 size() 方法:

// 引入 HashSet 类      
import java.util.HashSet;

public class Test {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Mybj");     // 重复的元素不会被添加
        System.out.println(sites.size());  
    }
}

执行以上代码,输出结果如下:

4

迭代 HashSet

可以使用 for-each 来迭代 HashSet 中的元素。

// 引入 HashSet 类      
import java.util.HashSet;

public class Test {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Mybj");     // 重复的元素不会被添加
        for (String i : sites) {
            System.out.println(i);
        }
    }
}

执行以上代码,输出结果如下:

Baidu
Mybj
Zhihu
Taobao

以上关于42. Java 中的HashSet的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 42. Java 中的HashSet

发表回复