论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
Java集合中Set都有哪些特性?看这篇就够了! ...
Java集合中Set都有哪些特性?看这篇就够了!
水军大提督
金牌会员
|
2023-5-22 10:38:43
|
显示全部楼层
|
阅读模式
楼主
主题
876
|
帖子
876
|
积分
2628
本文将为大家详细讲解Java中的,这是我们进行开发时经常用到的知识点,也是大家在学习Java中很重要的一个知识点,更是我们在面试时有可能会问到的问题。
文章较长,干货满满,建议大家收藏慢慢学习。文末有本文重点总结,主页有全系列文章分享。技术类问题,欢迎大家和我们一起交流讨论!
前言
在上一篇文章中,带大家学习了
List集合的用法和特性
,
尤其是对ArrayList和LinkedList了解的更多一些
。
但Java中还有Set和Map集合等待我们学习
,所以接下来就请各位继续跟我们一起来学习今天的内容吧。在本文中,会详细地给大家介绍Set集合的定义、特点、常用方法和基本原理等内容。
全文大约【
4000】
字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图视频,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一. Set集合简介
1. Set定义
Set是Java的一种集合,继承自Collection接口,主要有两个常用的实现类
HashSet类和TreeSet类
。它没有固定的大小限制,可以动态地添加和删除元素。并且Set集合中的元素都是唯一的,不会有重复的元素,即使是null值也只能有一个。另外Set集合是无序的,不能记住元素的添加顺序,因为没有索引值,所以Set集合中的对象不会按特定的方式排序,它只是简单地把对象放到集合中。
从特性上来看,
Set相当于是一个只存储key、不存储value的Map
。我们可以把Set想象成是一个”特殊的Map“,这个Map只有key却没有value,所以我们可以用Set去除重复的元素。另外由于放入Set的元素和Map的key类似,需要正确地实现equals()和hashCode()方法,否则该元素就无法正确地放入Set。
2. Set特性
与其他集合不同,Set集合具有自己的一些特性:
Set集合中的元素都是唯一的,不允许有重复值,且最多只允许包含一个null元素;
Set集合中的元素没有顺序,我们无法通过索引来访问元素,但TreeSet是有序的;
Set集合没有固定的大小限制,可以动态地添加和删除元素;
Set集合提供了高效的元素查找和判断方法。
3. Set常用方法
Set集合给我们提供了一系列常用的方法,用于添加、删除、查找、遍历和获取集合元素等操作,
下面是Set集合中常用方法的实现过程。
3.1 添加元素
我们可以使用add()方法进行元素的添加。
public boolean add(E e)
复制代码
该方法用于向Set集合添加元素,如果元素已经存在,则不会添加;如果添加成功,则返回true,否则返回false。该方法的示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
set.add("iOS");
System.out.println(set);
复制代码
3.2 删除元素
我们可以使用remove()方法进行元素的删除。
public boolean remove(Object o)
复制代码
该方法用于从Set集合中删除指定的元素。如果元素存在且删除成功,则返回true,否则返回false。该方法的示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
set.remove("java");
System.out.println(set); // 输出结果为:[壹壹哥]
复制代码
3.3 判断元素
我们可以使用contains()方法进行元素的判断。
public boolean contains(Object o)
复制代码
该方法用于判断Set集合中是否包含指定的元素。如果元素存在,则返回true,否则返回false。该方法的示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
System.out.println(set.contains("java")); // 输出结果为:true
System.out.println(set.contains("orange")); // 输出结果为:false
复制代码
3.4 获取元素数量
我们可以使用size()方法判断集合的数量。
public int size()
复制代码
该方法的使用示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
System.out.println(set.size()); // 输出结果为:2
复制代码
4. 配套视频
与本节内容配套的视频链接如下
:戳链接一键直达
二. HashSet集合
1. 简介
在Java的集合框架中,HashSet是一种非常常用的集合类型,它实现了Set接口,并继承了AbstractSet抽象类。HashSet集合的底层实现是一个哈希表,它使用哈希算法来存储和管理集合中的元素。HashSet集合中的元素没有顺序,且不允许重复。
如果我们想使用HashSet集合,一般要使用如下两个构造方法创建出HashSet对象:
<ul>
HashSet()
:构造一个新的空的Set集合对象;
<strong>HashSet(Collection
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
水军大提督
金牌会员
这个人很懒什么都没写!
楼主热帖
MySQL高可用架构搭建实战
让软件飞——“X+”技术揭秘 ...
哈希算法-SHA-256-过程详解
Docker(11)-- DockerFile详解
可观测性和传统监控的三大区别 ...
camunda工作流实战项目(表单设计器+流 ...
1. SQL
Could not resolve host: mirrorlist.c ...
使用 OpenTelemetry 和 Loki 实现高效 ...
0. 数据库设计规范化
标签云
存储
挺好的
服务器
浏览过的版块
Java
快速回复
返回顶部
返回列表