文档章节

JAVA中的Set

o
 osc_pn11u1x9
发布于 2018/08/06 11:32
字数 287
阅读 16
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

Set中存放的是没有重复的数据,下说记录一下使用中的小细节。

1.HashSet

区分大小写:

Set<String> set1 = new HashSet<String>();
Collections.addAll(set1, "A,B,C,D,E,F,G,a,b,c".split(","));
System.out.println(set1);
System.out.println(set1.contains("F"));
System.out.println(set1.contains("f"));
输出:

[A, a, B, b, C, c, D, E, F, G]
true
false

BigDecimal比较

Set<BigDecimal> set2 = new HashSet<BigDecimal>();
 BigDecimal num1 = new BigDecimal("1.0");
 BigDecimal num2 = new BigDecimal("1.00");
 set2.add(num1);
 set2.add(num2);
 System.out.println(set2);

输出:

[1.0, 1.00]

2.TreeSet

区分大小写:

Set<String> treeSet = new TreeSet<String>();
 Collections.addAll(treeSet, "A,a,B,b,C,c,D,E,F,G,d,e,f,g,h,i".split(","));
 System.out.println(treeSet);

输出:

[A, B, C, D, E, F, G, a, b, c, d, e, f, g, h, i]

如果要不区分大小写,加个参数:

Set<String> treeSet1 = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
Collections.addAll(treeSet1, "A,a,B,b,C,c,D,E,F,G,d,e,f,g,h,i".split(","));
System.out.println(treeSet1);
输出:
[A, B, C, D, E, F, G, h, i]
 
BigDecimal的比较
Set<BigDecimal> treeSet2 = new TreeSet<BigDecimal>();
 treeSet2.add(num1);
 treeSet2.add(num2);
 System.out.println(treeSet2);

输出:

[1.0]

 

为什么HashSet中加入BigDecimal与TreeSet中加入BigDecimal结算会不一样,这是因为HashSet调用的是equals方法,而Treeset调用的是compareTo方法。他们的实现是不一样的。

 
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
浅谈ThreadLocal

ThreadLocal这个名臣带有一定的迷惑性,千万不要认为ThreadLocal是线程的一种实现,网上很多人认为它应该叫ThreadLocalVariable更贴切,我对此也非常赞同。ThreadLocal存在的意义就是为了解决...

零下三度
2014/09/10
887
0
java中List、Array、Map、Set等集合相互转换

java中List、Array、Map、Set等集合相互转换 java中实现list或set转map的方法 详解Java中list,set,map的遍历与增强for循环 Java中List Set和Map之间的区别动力节点Java学院整理 Java concurr...

osc_fujrf0ph
2018/01/28
14
0
Tomcat指定(JDK路径)JAVA_HOME而不用环境变量

转载自:http://blog.51cto.com/meiling/1785225 --------------------------------------------------------------------------------------- Tomcat默认情况下会用系统的环境变量中找到JAV......

osc_6w8of3u9
2019/10/16
1
0
Java并发编程:深入剖析ThreadLocal (总结)

ThreadLocal好处 Java并发编程的艺术解释好处是:get和set方法的调用可以不用在同一个方法或者同一个类中。 问答形式总结: 1、 ThreadLocal类的作用   ThreadLocal的作用是提供线程内的局...

osc_eeik3xla
2018/08/05
7
0

目录 一.ThreadLocal介绍   1.1 ThreadLocal的功能   1.2 ThreadLocal使用示例 二.源码分析-ThreadLocal   2.1 ThreadLocal的类层级关系   2.2 ThreadLocal的属性字段   2.3 创建T...

osc_cgllnrkd
06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kubernetes发布SpringBoot项目过程总结

SpringBoot 项目创建完成后,通常会打成 jar 包运行,如果不使用 Kubernetes 可以直接通过 java -jar 或者脚本启动,如果需要发布到 Kubernetes 环境,那么需要编写 Dockerfile、构建镜像、推...

strict_nerd
05/23
0
0
👉 最新推出【Jenkins扩展篇-API实践|监控】教程🎉🎉🎉 助力全方位Jenkins管理!课程详情可添加小助手微信: proc_code。

本文分享自微信公众号 - DevOps云学堂(idevopsvip)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

泽阳DevOps
02/18
0
0
没错,用三方 Github 做授权登录就是这么简单!(OAuth2.0实战)

本文收录在个人博客:www.chengxy-nds.top,技术资源共享。 上一篇《OAuth2.0 的四种授权方式》文末说过,后续要来一波OAuth2.0实战,耽误了几天今儿终于补上了。 最近在做自己的开源项目(f...

程序员内点事
29分钟前
29
0
Docker可视化工具Portainer

前言 对于新手来说,还是要熟悉并掌握Docker命令,因为它的命令还是非常清晰简单的。随着逐渐熟悉命令后,为了提高工作效率我们可以考虑借助一些工具协助。目前业界对于Docker可视化工具比较...

ville
32分钟前
29
0
从 Git 仓库的 Commit 历史中移除敏感文件

在很多情况,我们由于疏忽会将一些敏感信息误传到 Git 仓库上面去。 尽管我们可以使用git rm将包含敏感信息文件删除掉,然后重新提交上传,文件就不会在仓库文件列表显示。 但是这并不能完全...

A_laoshiren
37分钟前
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部