Java基础第19讲:集合框架之Set

        Set集合类似于一个罐子,程序可以把多个元素扔进罐子里,而Set集合不能记住元素添加的顺序;Set集合中不允许保存相同的对象

一、HashSet

        HashSet是Set接口的典型实现,大多数时候使用Set集合时就是使用这个实现类。HashSet按照Hash算法来储存集合中的元素,因此具备很好的储存和查找性能

1.1、HashSet具备的特点

  1. - 不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也有可能发生变化
  2. - 集合的元素值可以为null
  3. - HashSet不是线程同步的,如果多个线程同时访问一个HashSet,假设有两个或者两个以上线程同时修改了HashSet集合时,则必须通过代码来保证其同步

1.2、常用方法

void add(Object obj)向Set集合中添加一个元素
int size()获取Set集合中元素的个数
boolean remove()从Set集合中删除元素,删除成功返回true
void clear()删除Set集合中的所有元素
boolean contains(Object obj)查询Set集合中是否包含指定的元素,如果包含就返回true
Iterator iterator()获得Set集合的迭代器,用于遍历集合元素

二、LinkedHashSet

        LinkedHashSet是HashSet的子类,LinkedHashSet集合也是根据hashCode值来决定元素的储存位置,但他同时使用链表来维护元素的次序,这样使得元是以插入的顺序来保存的。
LinkedHashSet需要维护元素的插入顺序,因此性能略低于HashSet的性能

三、面试题

需求:随机生成5个0-10之间的整数,要求数字不可以重复

分析:

(1)将生成的随机数放置到Set集合中
(2)用迭代器遍历Set集合
(3)用ForEach遍历Set集合

四、Collections工具类

        集合工具类,针对于List集合提供一系列功能的操作

4.1、常用方法

void sort(Collection c)对集合中的元素按照自然顺序进行排序
Object max(Collection c)获取集合中的最大元素,并且返回最大元素
Object min(Collection c)获取集合中的最小元素,并且返回最小元素
boolean replaceAll(Collection c, Object ele1, Object ele2)元素替换,将集合中的所有元素ele1替换成ele2

4.2、案例:给集合元素进行排序

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值