Java | HashSet 语法

news/2024/11/17 21:16:45/
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。
HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 实现了 Set 接口。

📌 创建 HashSet 对象 HashSet<value> = new HashSet<>()

        // 创建 HashSet 对象 HashSet<value> = new HashSet<>()HashSet<String> sites = new HashSet<>();

📌 添加键值对 hashset.add(element)

        // 添加键值对 hashset.add(element)sites.add("Google");sites.add("CSDN");sites.add("Taobao");sites.add("Zhihu");sites.add("CSDN");// [注意] CSDN 被添加了两次,它在集合中也只会出现一次,因为集合中的每个元素都必须是唯一的

📌 访问 所有键值对 hashsetName

        // 访问 所有键值对 hashsetNameSystem.out.println(sites);

📌 判断 元素是否存在 hashset.contains(element)

        // 判断 元素是否存在 hashset.contains(element)System.out.println(sites.contains("Google"));System.out.println(sites.contains("Baidu"));

📌 计算 大小 hashset.size()

        // 计算大小 hashset.size()System.out.println(sites.size());

📌 删除 指定元素 hashset.remove(elements)

        // 删除 指定元素 hashset.remove(elements)boolean hasRemove = sites.remove("Google");System.out.println(hasRemove);System.out.println(sites);

📌 判断是否为空 hashset.isEmpty()

        // 判断是否为空 hashset.isEmpty()System.out.println(sites.isEmpty());

📌 删除所有元素 hashset.clear()

        // 删除所有元素 hashset.clear()sites.clear();System.out.println(sites.isEmpty());

📌 for-each 来迭代 HashSet 中的元素

        // for-each 来迭代 HashSet 中的元素for (String i : sites) {System.out.println(i);}

附:源码

import java.util.HashSet;public class HashSet_BasicUsage {public static void main(String[] args){// 创建 HashSet 对象 HashSet<value> = new HashSet<>()HashSet<String> sites = new HashSet<>();// 添加键值对 hashset.add(element)sites.add("Google");sites.add("CSDN");sites.add("Taobao");sites.add("Zhihu");sites.add("CSDN");// [注意] CSDN 被添加了两次,它在集合中也只会出现一次,因为集合中的每个元素都必须是唯一的// 访问 所有键值对 hashsetNameSystem.out.println(sites);// 判断 元素是否存在 hashset.contains(element)System.out.println(sites.contains("Google"));System.out.println(sites.contains("Baidu"));// 计算大小 hashset.size()System.out.println(sites.size());// 删除 指定元素 hashset.remove(elements)boolean hasRemove = sites.remove("Google");System.out.println(hasRemove);System.out.println(sites);// 判断是否为空 hashset.isEmpty()System.out.println(sites.isEmpty());// 删除所有元素 hashset.clear()sites.clear();System.out.println(sites.isEmpty());}
}
import java.util.HashSet;public class HashSet_Traverse {public static void main(String[] args) {HashSet<String> sites = new HashSet<>();sites.add("Google");sites.add("CSDN");sites.add("Taobao");sites.add("Zhihu");// for-each 来迭代 HashSet 中的元素for (String i : sites) {System.out.println(i);}}
}


http://www.ppmy.cn/news/31518.html

相关文章

MySQL连接IDEA详细教程

使用IDEA的时候&#xff0c;需要连接Database&#xff0c;连接时遇到了一些小问题&#xff0c;下面记录一下操作流程以及遇到的问题的解决方法。 目录 MySQL连接IDEA详细教程 MySQL连接IDEA详细教程 打开idea&#xff0c;点击右侧的 Database 或者 选择 View --> Tool Wind…

以java编写员工管理系统(测试过 无问题)

一、系统结果的部分展示 二、题目以及相关要求 三、组成 1.该系统由 Employee 类 、commonEmployee类、Testemd类和managerEmployee类组成 2.Employee实现的代码 public class Employee {private String id;private String name;private String job;private int holiday…

Spring Boot官方例子《Developing Your First Spring Boot Application》无法运行

官方的第一个例子就卡住了&#xff1a; https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started.first-application 按照要求&#xff0c;一步一步走&#xff1a; 查看Java版本和MVN版本&#xff1a; $ java -version openjdk version &quo…

JDBC快速入门

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 目录 一、JDBC入门 1.概述 (1)JDBC本质 (2)JDBC好处 2.快速入门 (1)步骤 (2)实践 (3)两个小问题 一、JDBC入门 1.概述 JDBC就是使用Java语言操作关系型数据库的一套API&#xff0c;全称&#xff1a;( Java…

QT Q_OBJECT 和 signals/slots

Q_OBJECT宏展开 #define Q_OBJECT \ public: \QT_WARNING_PUSH \Q_OBJECT_NO_OVERRIDE_WARNING \static const QMetaObject staticMetaObject; \virtual const QMetaObject *metaObject() const; \virtual void *qt_metacast(const char *); \virtual int qt_metacall(QMetaOb…

超分扩散模型 SR3 可以做图像去雨、去雾等恢复任务吗?

文章目录前言代码及原文链接主要的点如何进行图像恢复前言 关于扩散模型以及条件扩散模型的介绍&#xff0c;大家可以前往我的上一篇博客&#xff1a;扩散模型diffusion model用于图像恢复任务详细原理 (去雨&#xff0c;去雾等皆可)&#xff0c;附实现代码。 SR3是利用扩散模…

Kafka 消息不丢失

Kafka 消息不丢失生产者丢失消费者丢失不丢失配置Kafka 保证消息不丢失&#xff1a;只对已提交的消息 (committed message) 做有限度的持久化保证 已提交的消息&#xff1a;当 n 个 Broker 成功接收到该消息并写入到日志文件后&#xff0c;就告诉生产者该消息已成功提交有限度…

C++:异常

在学习异常之前&#xff0c;来简单总结一下传统的处理错误的方式&#xff1a; 1. 终止程序&#xff0c;如assert&#xff0c;缺陷&#xff1a;用户难以接受。如发生内存错误&#xff0c;除0错误时就会终止程序。 2. 返回错误码&#xff0c;缺陷&#xff1a;需要程序员自己去查找…