Java中的HashSet

介绍:

Java中的HashSet实现Set接口,即它不允许重复。 它在内部由HashMap支持,该哈希表基于哈希原理。

我们可以在HashSet中存储一个值。 默认容量为16,负载系数为0.75,其中:

Load factor = Number of Stored Elements / capacity

Java HashSet是不同步的。 同样,不能保证保留元素的插入顺序。

在本教程中,我们将学习如何使用Java HashSet

实例化

我们可以使用以下构造函数之一创建Java HashSet

HashSet() // default capacity of 16 with a load factor of 0.75
HashSet(int initialCapacity)
HashSet(int initialCapacity, float loadFactor)
HashSet(Collection c)

这些构造函数的用法都很直观。

让我们使用默认构造函数快速创建一个HashSet:

Set<Integer> set = new HashSet<>();

常用方法:

现在让我们看一些可以帮助我们操纵Java HashSet的方法:

1.

它只是将元素添加到给定的集合(如果尚不存在)。 如果该元素已经存在,则add()仅返回false:

System.out.println(set.add(1));  //true
System.out.println(set.add(2));  //true
System.out.println(set.add(3));  //true
System.out.println(set.add(1));  //false - as already present//Note that the order of elements isn't guaranteed
System.out.println(set); //[1, 2, 3]

2.

如果元素在引用集中存在,则contains()方法返回true ,否则返回false

System.out.println(set.contains(1)); //true
System.out.println(set.contains(4)); //false

3.

顾名思义,它将删除元素obj(如果存在)并返回true 。 如果不存在这样的元素,则仅返回false

System.out.println(set.remove(1)); //true
System.out.println(set.remove(4)); //false

请注意, HashSet还继承了removeAll()removeIf()方法,可用于删除值。

4.

对于空集返回true ,否则返回false

System.out.println(set.isEmpty()); // false

5. int

它仅返回给定集中存在的元素数。

6.

clear()方法删除引用集中存在的所有值,从而使其成为空集。

内部实施:

HashSet在内部使用HashMap来存储其元素。 存储在HashSet中的元素被映射为HashMap中的键。 所有这些条目的值字段都包含一个常量PRESENT:

private static final Object PRESENT = new Object();

这是一个虚拟对象。

遍历

我们可以使用以下一种方式来迭代HashSet中的元素:

1.

从Java 8开始,我们可以使用forEach()遍历任何Java 集合:

set.forEach(e -> System.out.println(e));

2.

Java 8还支持forEachRemaining()构造,该构造可与Collection上的任何迭代器一起使用:

Iterator<Integer> itr = set.iterator();itr.forEachRemaining(e -> System.out.println(e));

3.使用

如果我们使用的是Java 7或更低版​​本,我们可以简单地使用迭代器进行迭代:

Iterator<Integer> itr = set.iterator();while(itr.hasNext()) {System.out.println(itr.next());
}

4.扩展

我们还可以使用扩展的for循环遍历元素:

for(Integer e : set) {System.out.println(e);
}

结论:

在本教程中,我们学习了如何创建和使用Java HashSet。 我们也知道Java HashSet在内部使用HashMap来实现它。

成为第一个发表评论的人。

翻译自: https://www.javacodegeeks.com/2019/04/hashset-java.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8口poe交换机产品介绍

八口POE交换机&#xff08;POE31008P&#xff09;提供了从一个网络节点利用5类以太网线的电源和数据的传输。81端口快速以太网端口能用于10/100Mps的连接&#xff0c;其中8个端口可以提供工业标准的IEEE802.3af电源。先进的自感知算法只为标准PD终端设备供电&#xff0c;因而不…

【渝粤教育】国家开放大学2019年春季 0024-22T建筑工程管理与实务 参考试题

科目编号&#xff1a;0603 座位号 2017-2018学年度第二学期期末考试 建筑工程管理与实务 试题 2018年 07 月 一、单选题&#xff08;本大题共15小题&#xff0c;每小题3分&#xff0c;共计45分&#xff09; &#xff08;★请考生务必将答案填入到下面对应序号的答题框中★&…

亿佰特物联网dtu无线数传电台:新一代Lora无线模块通信技术

无线数传模块有的也称呼为无线数传电台&#xff0c;通常把功率小、体积小的无线数传技术设备叫做无线模块&#xff0c;把发射功率大、5W~25W&#xff0c;甚至更大功率的无线数传设备称为电台&#xff08;简称&#xff1a;DTU&#xff09;。 1、大功率无线数传电台的物联网无线…

亿佰特物联网无线模块通信技术分析

成都亿佰特电子科技有限公司自成立以来&#xff0c;一直致力于物联网与互联网无线通信技术的研发和应用的推广及其解决方案的应用拓展&#xff0c;在通信技术、射频技术、数据传输技术、信号处理技术上形成了较强的研发实力&#xff0c;是无线通信技术领域拥有自主知识产权的专…

【渝粤教育】国家开放大学2018年春季 0300-22T图形创意 参考试题

编号&#xff1a;0300 座位号 2017&#xff5e;2018学年度第二学期期末考试 图形创意试题 2018年7月 一、设计制作题&#xff08;100分&#xff09; 以“蝴蝶兰”为造型元素进行视觉联想。根据自己的创意写出完整的图形创意方案。 内容要求及得分&#xff1a; 1.富有新意和趣味…

8口PoE网口供电交换机适用环境介绍

8口POE供电网络交换机 “永不烧设备”智能POE交换机&#xff0c;先进的自感知算法只为IEEE 802.3af终端设备供电&#xff0c;因而不需要去担心会损坏私有标准的PoE或非PoE设备。智能供电系统&#xff0c;过载保护&#xff0c;打破传统电力线布局限制&#xff0c;支持8口通过5类…

亿佰特物联网开关电源模块:压电发声器驱动器

有一种压电发声器驱动器&#xff0c;可以输出 31Vp-p&#xff0c;仅提供 1.8 至 5.5V 的电压 秘密在于 PAM8907 具有内置同步升压转换器和桥式输出。 也可以在输出端选择 22Vp-p – 有一个逻辑输入&#xff0c;可将升压转换器设置为产生 11 或 15.6V&#xff0c;从而导致跨桥…

5g无线网络对电子竞技市场发展影响

电子竞技在全世界都受到了极大的关注。这种通过电脑游戏、视频游戏和智能手机游戏进行的竞赛形式被认为是一项运动&#xff0c;并且正在全球范围内不断发展壮大。从全球电竞市场的规模到不同国家的电竞情况&#xff0c;以及5G网络等网络环境&#xff0c;让电竞越来越受欢迎。 …

【渝粤教育】国家开放大学2018年春季 0701-21T公共政策学 参考试题

科目编号&#xff1a;0701 座位号 2018-2019学年度第二学期期末考试 公共政策学 试题 2018年 7 月 一、单选题&#xff08;本大题共15小题&#xff0c;每小题2分&#xff0c;共计30分&#xff09; &#xff08;★请考生务必将答案填入到下面对应序号的答题框中★&#xff09; …

PoE交换机的选择和使用注意事项介绍

PoE交换机不但可以实现普通交换机的数据传输功能还能同时对网络终端进行供电 。如果你打算选择或者使用PoE交换机&#xff0c;这些知识点一定要看&#xff0c;可以让你少走弯路、少些麻烦。接下来&#xff0c;杭州飞畅科技的小编来为大家介绍下PoE交换机的选择和使用要点&#…

Zigbee无线协议 和 WiFi通信协议的区别

亿佰特物联网无线通信&#xff1a;Zigbee无线协议 和 WiFi通信协议的区别 物联网领域无线数据传输指的是无线数传模块将工业设备输出或者各种采集的数据进行远程传送&#xff0c;可以无线模拟量采集&#xff0c;也能无线开关量控制。无线数据传输专网有数传电台&#xff0c;宽带…

【渝粤教育】国家开放大学2018年春季 3819-22T燃气安全管理 参考试题

科目编号&#xff1a;3819 座位号 2018-2019学年度第二学期期末考试 燃气安全管理 试题 2018年 7 月 一、填空题&#xff08;本大题共10空&#xff0c;每空3分&#xff0c;共计30分&#xff09; 1&#xff0e;汛情预警四个预警级别分别采用蓝色、__________________、________…

Java UUID

介绍&#xff1a; UUID&#xff08;通用唯一标识符&#xff09;表示一个128位长的唯一值 。 它也被普遍称为GUID&#xff08;全球唯一标识符&#xff09;。 UUID的标准表示形式由十六进制数字组成&#xff1a; 533a4559-e55c-18b3-8456-555563322002并具有36个字符 &#xff…

【渝粤教育】国家开放大学2018年春季 7394-21T政府公共关系 参考试题

试卷编号&#xff1a;7394 座位号 2017——2018学年度第二学期期末考试 政府公共关系试题 2018年7月 一、单选题&#xff08;每空2分&#xff0c;共30分&#xff09; 政府公共关系以政府部门和&#xff08; &#xff09;为主体。 A. 老百姓 B. 社会公众 C. 公务员 D. 社会成…

亿佰特Lora网关技术为马拉松保驾护航

2021年10月份成都马拉松跑步比赛开始报名了&#xff0c;身边很多感兴趣的朋友都在纷纷报名。按照朋友的话说&#xff0c;报名马拉松不是为了去跑步&#xff0c;就是为了体验马拉松跑到路边景色及配套设施。 根据介绍&#xff0c;野外超级马拉松现场许多区域都没有蜂窝信号&…

poe交换机的作用和优点

POE交换机就是支持网线供电的交换机&#xff0c;其不但可以实现普通交换机的数据传输功能还能同时对网络终端进行供电 。那么&#xff0c;poe交换机的作用和优点有哪些呢&#xff1f;接下来我们就跟随杭州飞畅的小编一起来看看吧&#xff01; poe交换机的优点: 1、首创250米超网…

【渝粤教育】国家开放大学2018年春季 8612-21T传染病护理学 参考试题

编号&#xff1a;8612 座位号 2017&#xff5e;2018学年度第二学期期末考试 传染病护理学&#xff08;开卷&#xff09;试题 2018年 5月 单选题&#xff08;10题&#xff0c;每题3分&#xff0c;共30分, 请把答案填在下面对应题号的答题框内&#xff0c;未答在答题框内的不计分…

亿佰特物联网通信专家:智慧城市所需的技术

实现智慧城市的一个主要前提是“可以在任何位置实现互联网连接的环境”。例如&#xff0c;为了识别水管异常&#xff0c;假设水管连接到网络并需要检测异常的传感器、接收异常通知的平台和数据中心以及分析异常的AI。与可实时提供和分析数据并及时执行需求的连接设备相关联的元…

【渝粤教育】国家开放大学2018年春季 8644-22T汽车电子商务 参考试题

科目编号&#xff1a;8644 座位号 2017-2018学年度第二学期期末考试 汽车电子商务 试题 2018年 7 月 一、选择题&#xff08;本大题共15小题&#xff0c;每小题4分&#xff0c;共计60分&#xff09; &#xff08;★请考生务必将答案填入到下面对应序号的答题框中★&#xff09…

亿佰特物联网通信-智慧城市的未来城市愿景

城市智慧概念现在得到广泛认识&#xff0c;也在很多国家和地方开始建设&#xff0c;目前智慧城市建设大多是处于数字化阶段&#xff0c;并在数字化形态下逐步融合大数据、人工智能、物联网、无线通信等技术&#xff0c;提高城市的管理和服务能力。但其中更多体现自动化的成分&a…