首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

九月哥详谈子接口Set的TreeSet类的存储字符串并遍历,当在存储字符串时,相同的为什么只存储一个呢?

资源干货第一时间送达!

九月哥寄语

距离考试那年(2014年12月底)已经有四年了,在这四年里,我一直认为当初选择考研是一个非常正确的选择,很多人说现在的研究生学历含金量不如从前了,但是我仍然认为读研是一个不错的选择,不仅仅是为了以后能够帮助找工作,更多的是在读研过程中你能遇见更多优秀的人,你能站在一个更好的平台上,这些对你来说都是无法衡量的财富!所以请大家坚定不移的继续努力下去吧,你的理想院校已经敞开了她的大门在等你!

如果想被人知道,变得闪闪发光,就要熬过一个个不为人知的黑夜。如果想被人在乎,就要变得强大重要,不再被别人随意对待和忽视。人生的路从来都安排在自己手里,想要变得更好,得成全自己!加油我亲爱的粉丝们,我们一起冲。

—— 大家1月份的第三个周三愉快,与你前行!

给自己多份自信和坚持!九月哥我一直陪伴着你

再苦再累都要给自己信心!

在这篇微文里,我将给大家带来

Java SE中子接口Set的TreeSet类的存储字符串并遍历,当在存储字符串时,相同的为什么只存储一个呢?

Java SE中子接口Set的TreeSet类的存储字符串并遍历,当在存储字符串时,相同的为什么只存储一个呢?

那么今天九月哥就给小伙伴们列举以下几个点:

说明:以下内容非强制或必学,做到了解即可。但是,最好熟练!

1、TreeSet类的存储字符串并遍历:【通过迭代器iterator遍历】

2、TreeSet类的存储字符串并遍历:【通过自然排序,再for循环遍历】

3、TreeSet在存储字符串时,相同的为什么只存储一个呢?【非常重要】TreeSe里真正的比较是依赖于元素的compareTo()方法,而这个方法是定义在 Comparable里面的。所以,你要想重写该方法,就必须是先实现 Comparable接口。

1、TreeSet的存储字符串并遍历:

【通过迭代器iterator遍历】

输出结果为:

1

321

621

lisi

wangqu

zhangsan

lisi

2、TreeSet的存储字符串并遍历:

【通过自然排序,再for循环遍历】

(1)自然排序。所有集合元素要实现Comparable接口。

(2)定制排序。要求创建TreeSet时,提供一个Comparator对象(负责比较元素大小)。

放在 原创 | 九月哥详谈子接口Set的TreeSet类的存储自定义对象并遍历,当在存储自定义对象时,如何保证元素唯一性 ?(150)

输出结果为:

注意:不知大家,有没有发现,重复元素18,为什么只会输出一次呢?

3、Tree在存储字符串时,

相同的为什么只存储一个呢?【非常重要】

答案在这:而String类重写了hashCode()和equals()方法,所以,它就可以把内容相同的字符串去掉。只留下一个。

TreeSet不会调用equals,hashCode去比较元素是不是重复的。

TreeSet集合的add()方法的源码

可见:

TreeSe里真正的比较是依赖于元素的compareTo()方法,而这个方法是定义在 Comparable里面的。 所以,你要想重写该方法,就必须是先实现 Comparable接口。这个接口表示的就是自然排序。

人生苦短,我愿分享。

本公众号【Java从入门到架构师】将秉持活到老学到老学习无休止的

交流分享开源精神,

汇聚于互联网和个人学习工作的精华干货知识,

一切来于互联网,反馈回互联网。

目前研究领域:

大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。

语言涉及:

Java、Scala、Python、Shell、Linux等 。

同时还涉及平常所使用的手机、电脑和

互联网上的使用技巧、问题和实用软件。

只要你一直关注和呆在群里,每天必须有收获。

本人个人技术博客:

http://www.cnblogs.com/zlslch/

http://www.cnblogs.com/lchzls/

http://www.cnblogs.com/sunnyDream/

本人个人Github:

https://github.com/zlslch/

大数据和人工智能躺过的坑(VIP总群)

161156071

hadoop开发: 276519852

大数据零基础入门: 416348910

spark零基础入门: 285025652

hadoop零基础入门: 541092360

大数据开发: 207591869

大数据手把手交流: 201590535

大数据零基础收徒咨询: 132603465

大数据内部收徒咨询群: 469185229

Java SE交流技术群:

后台回复“大数据躺过的坑之Java SE微信付费交流群

看完本文有收获?请转发分享给更多人

关注「Java从入门到架构师」,提升大神技能

欢迎新旧粉丝(撒花),我是Java从入门到架构师九月哥。大家对微信博文有什么问题都可以@我留言,我会尽快回复大家。希望以后可以和各位成为技术道友!

九月哥

超过10万+人正在关注

目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。语言涉及:Java、Scala、Python、Shell、Linux等。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件,热衷于分享开源技术,热爱开源、拥抱开源,我是90后九月哥,微信公众号:大数据躺过的坑,我为自己带盐,谁说90后不能活出精彩人生!!!

注意:此群是免费

注意:此群是119元(2019年01月份入群)

~等你来撩我哦~

添加九月哥小助手个人微信号

解锁更多资源干货

记得替九月哥小助手把这波干货分享给小伙伴哦

不要忘记点赞,么么哒~

觉得不错,请点赞和留言

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190116G005P000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券