java基础12

Set集合和Map集

Set集合的特点

Set:元素唯一,存储元素无序一个不包含重复元素的 collection

HashSet集合类

HashSet它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变HashSet保证元素唯一性的原理

首先比较对象的哈希值是否相同,这个哈希值是根据对象的hashCode()计算出来的。

  • 如果哈希值不同,就直接添加到集合中
  • 如果哈希值相同,继续执行equals()进行比较,
  • 返回的是true,说明元素重复,不添加。
  • 返回的是false,说明元素不重复,就添加。

如果我们使用HashSet集合存储对象,你要想保证元素的唯一性,就必须重写hashCode()和equals()方法。

HashSet集合的练习存储自定义对象并遍历

HashSet集合存储自定义对象并遍历1.迭代器 2.增强for

Map集合

Map将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

  • Map:存放的是键值对 key -- value
    • key是不能重复的
    • value是可以重复的

Map集合的成员方法

V put(K key,V value):添加元素
V remove(Object key):根据键删除键值对元素
void clear():移除所有的键值对元素
boolean containsKey(Object key):判断集合是否包含指定的键
boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
int size():返回集合中的键值对的对数
V get(Object key):根据键获取值
Set<K> keySet():获取所有键的集合
Collection<V> values():获取所有值的集合

Collections工具类

常用使用方法

max(Collection<? extends T> coll)根据元素的自然顺序,返回给定 collection 的最大元素
max(Collection<? extends T> coll,Comparator<? super T> comp)根据指定比较器产生的顺序
min(Collection<? extends T> coll)根据元素的自然顺序 返回给定 collection 的最小元素(也可根据比较器产生顺序)
reverse(List<?> list)反转指定列表中元素的顺序。
void shuffle(List<?> list) 使用默认随机源对指定列表进行置换
shuffle(List<?> list, new Random(20)) 使用指定的随机源对指定列表进行置换。所有置换发生的可能性都是相等的,假定随机源是公平的。
sort(List<T> list)根据元素的自然顺序 对指定列表按升序进行排序
sort(List<T> list,Collections.reverseOeder()) 根据指定比较器产生的顺序对指定列表进行排序(逆序)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zaking's

js算法初窥04(算法模式01-递归)

17620
来自专栏hightopo

HT for Web自定义3D模型的WebGL应用

16230
来自专栏老安的博客

zabbix使用zabbix 数据库做数据分表

20130
来自专栏视频加密

自由定制视频播放器,不要太好用哦!

先来说一说问什么要定制视频播放器?市面上那么多像西瓜影音、吉吉影音等大量的视频播放器,还不够用吗?当然可以,但是满足特定群体的需求我们就需要定制一款自有的视频播...

30960
来自专栏区块链交易系统开发

区块链IM即时通讯系统应用技术开发搭建

社交通讯APP开发的开发特点,仅从直播应用的用户增长数据以及用户活跃度数据看来,传统社交平台与平台的配合,迎来了可观的发展。而且这些数据仅是来自平台内的直播数据...

27570
来自专栏技术区块链

区块链技术开发方向 聊区块链+会员生态系统

在现代商业市场中,客流是商业构成的基础。很多商业个体就希望通过“会员制度”绑定、稳定客流,无论哪项商业活动都需要更多的客流来实现经营持续化,掌握了大量的客流量,...

21350
来自专栏hightopo

HTML5的五种客户端离线存储方案

14750
来自专栏老安的博客

docker 容积硬盘扩容小坑一个

15430
来自专栏偏前端工程师的驿站

前端魔法堂——调用栈,异常实例中的宝藏

15930
来自专栏hightopo

基于HT for Web矢量实现2D叶轮旋转

22820

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励