Java | HashSet 语法
创始人
2024-06-01 01:12:00
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。
HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 实现了 Set 接口。

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

        // 创建 HashSet 对象 HashSet = new HashSet<>()HashSet 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 = new HashSet<>()HashSet 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 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);}}
}

相关内容

热门资讯

2026年FOMC票委转向鸽派... 来源:@证券市场红周刊微博文丨马特·韦勒Matt Weller 编辑丨吴海珊俗话说“新年,新气象...
发挥中外合作办学在国际传播中的... “作为ICARE一员的经历令人难以忘怀。精心安排的学术与文化活动,不仅让我体验了中华文化的深厚内涵,...
被AI耽误的“脱口秀教授”外滩... 1月8日,“金融后街秀 Bund Fin-Talk Club”沙龙在外滩FTC举行,一众来自金融科技...
山东省聊城市市场监督管理局公布... 中国质量新闻网讯 据山东省聊城市市场监督管理局网站消息,近日,聊城市市场监督管理局公布2025年电动...
终端形态破界!荣耀ROBOT ...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:IT之家)1...