java常用集合之Set

本文介绍了Java中的Set集合,强调了其无序和不重复的特点,并详细讲解了HashSet和TreeSet的实现原理及特性。HashSet基于HashMap,采用哈希表结构,不保证元素顺序,不允许重复且不保证线程安全。而TreeSet实现SortedSet接口,内部基于红黑树,元素按特定顺序排列,支持排序和搜索功能,同样不保证线程安全。
摘要由CSDN通过智能技术生成

前言:本篇文章与上一篇文章UML图与List集合有关系哟~,建议一起看看(☞゚ヮ゚)☞https://blog.csdn.net/weixin_64938628/article/details/125486950?spm=1001.2014.3001.5502

目录

Set集合的基础知识

Set集合的实现类

一.HashSet

二.TreeSet


Set集合的基础知识

 特点:

1.无序性:set集合是无序的

2.不重复:set集合是不可以重复的

遍历方法:

foreach,迭代器

扩容: 初始容量16,负载因子0.75,扩容增量1倍

Set集合的实现类

Set和List一样属于接口,无法直接创建实例化对象,需要实现类来set接口。

关系图

一.HashSet

HashSet实现Set接口,底层由HashMap来实现,为哈希表结构,新增元素相当于HashMap的key,value默认为一个固定的Object。

当有元素插入的时候,会计算元素的hashCode值,将元素插入到哈希表对应的位置中来;

它继承于AbstractSet,实现了Set, Cloneable, Serializable接口。

(1)HashSet继承AbstractSet类,获得了Set接口大部分的实现,减少了实现此接口所需的工作,实际上是又继承了AbstractCollection类;

(2)HashSet实现了Set接口,获取Set接口的方法,可以自定义具体实现,也可以继承AbstractSet类中的实现;

(3)HashSet实现Cloneable,得到了clone()方法,可以实现克隆功能;

(4)HashSet实现Serializable,表示可以被

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值