Java HashSet

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

HashSet 允许有 null 值。

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

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

HashSet 实现了 Set 接口。

实例

java 复制代码
// 引入 HashSet 类      
import java.util.HashSet;

public class RunoobTest {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Google");  
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Runoob");  // 重复的元素不会被添加
        sites.remove("Taobao");  // 删除元素,删除成功返回 true,否则为 false
        
       	// 可以使用 for-each 来迭代 HashSet 中的元素。
        for (String i : sites) {
            System.out.println(i);
        }
        
        sites.clear(); //删除集合中的所有元素
        
        System.out.println(sites);
        System.out.println(sites.contains("Taobao")); // 判断元素是否存在
        System.out.println(sites.size());   // 计算大小
        
        
        
    }
}
相关推荐
Adellle1 分钟前
Java中同步和异步的区别,以及阻塞和非阻塞的区别
java·开发语言
qq_12498707536 分钟前
基于springboot+vue的物流管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·毕业设计
闲人编程7 分钟前
用Python分析你的Spotify/网易云音乐听歌数据
开发语言·python·ai·数据分析·spotify·网易云·codecapsule
Js_cold21 分钟前
(* MARK_DEBUG=“true“ *)
开发语言·fpga开发·debug·verilog·vivado
ALex_zry40 分钟前
深入解析gRPC C++动态反射:实现Proto消息的智能字段映射
开发语言·c++
幸运小圣1 小时前
for...of vs for 循环全面对比【前端JS】
开发语言·前端·javascript
liu****1 小时前
12.线程同步和生产消费模型
linux·服务器·开发语言·c++·1024程序员节
学习编程的Kitty1 小时前
JavaEE初阶——多线程(5)单例模式和阻塞队列
java·开发语言·单例模式
m0_372257021 小时前
项目下有多个模块,每个模块有pom文件,是怎么继承的
java·tomcat
oak隔壁找我1 小时前
Spring AI 入门教程,使用Ollama本地模型集成,实现对话记忆功能。
java·人工智能·后端