Java实用的工具
Posted 小郑要做干饭人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实用的工具相关的知识,希望对你有一定的参考价值。
一. 集合工具类
快速初始化集合:
调用的是谷歌提供的依赖:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.1-jre</version>
</dependency>
ArrayList<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
for (Integer integer : list)
System.out.println(integer);
//之前往list集合中添加数据的时候调用的是add()进行赋值的,与此方法相比,是不是大大缩减的无用的代码
运行的结果如下:
集合分页:
ArrayList<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
//partition(): 集合分页(参数一:需要分页的集合,参数二:每页的数据长度)
List<List<Integer>> partition = Lists.partition(list, 5);
System.err.println(partition);
执行结果如下:
二. 加密工具类
需要引入工具包依赖:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
废话少说上代码:
// md2Hex(): MD5加密
String MD5 = DigestUtils.md2Hex("123");
System.out.println("MD5加密后的结果: " + MD5);
// sha256Hex(): sha'安全哈希算法' 加密
String sha256Hex = DigestUtils.sha256Hex("123");
System.out.println("sha256加密后的结果: " + sha256Hex);
/**
* 因为平时用到的加密方式不多,因此更多的用法就请大家自己去探索了~~~
*/
运行的结果如下:
三. 字符串处理工具
同上,需要引入相应的依赖包:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
1. 字符串判空:
方案一:
String str = " ";
boolean notBlank = StringUtils.isNotBlank(str);
boolean blank = StringUtils.isBlank(str);
System.out.println("isNotBlank判断str是否不为空? " + notBlank);
System.out.println("isBlank判断str是否为空? " + blank);
运行的结果如下:
方案二:
String str = " ";
boolean notEmpty = StringUtils.isNotEmpty(str);
boolean empty = StringUtils.isEmpty(str);
System.out.println("isNotEmpty判断str是否不为空? " + notEmpty);
System.out.println("isEmpty判断str是否为空? " + empty);
运行的结果如下:
虽然方案一和方案二运行结果一致,但是还是推荐使用例一,因为isBlank()和isNotBlank()方法会把空字符串也考虑进去。
2. 字符串分割:
//split(): 分割字符串
String str1 = "1,2,3,4,5";
String[] split = StringUtils.split(str1);
System.out.println("分割后的字符串:" + Arrays.toString(split));
/*相较于 String 的 split 方法来说,StringUtils 的 split 方法不会有空指针异常*/
运行的结果如下:
3. 判断字符串是否为纯数字:
//isNumeric(): 判断是否为纯数字
String str2 = "1";
boolean numeric = StringUtils.isNumeric(str2);
System.out.println("str2是否为数字: " + numeric);
运行的结果如下:
四. 集合处理工具
1. Java自带的工具包
一. 排序:
//sort() | reverse(): 排序
ArrayList<Integer> list1 = Lists.newArrayList(1, 3, 5, 7, 9, 2, 4, 5, 8, 10, 12, 11);
Collections.sort(list1); //升序
System.out.println("sort(升序)排序的结果为: " + list1);
Collections.reverse(list1); //降序
System.out.println("reverse(降序)排序的结果为: " + list1);
运行的结果如下:
二. 获取最大值最小值:
//max() | min():获取最大/最小值
ArrayList<Integer> list2 = Lists.newArrayList(1, 11, 111, 222, 1, 558, 195);
Integer max = Collections.max(list2);
Integer min = Collections.min(list2);
System.out.println("获取到list2中最大的值为: " + max);
System.out.println("获取到list2中最小的值为: " + min);
运行的结果如下:
三. 将集合转换为线程安全的集合:
ArrayList<Integer> list2 = Lists.newArrayList(1, 11, 111, 222, 1, 558, 195);
//synchronizedList(): 转换线程安全集合
List<Integer> list3 = Collections.synchronizedList(list2);
2. Apache提供的聚合处理工具:
首先导入依赖
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
1. 判断集合是否为空:
//isNotEmpty(): 集合判空
ArrayList<String> list4 = Lists.newArrayList("张三", "李四", "王五");
boolean notEmpty1 = CollectionUtils.isNotEmpty(list4);
System.out.println("集合不是空的吗? " + notEmpty1);
运行的结果如下:
2. 判断集合的交并补差集:
//intersection()/union()/disjunction()/subtract(): 获取集合的交并不差集
ArrayList<Integer> list5 = Lists.newArrayList(1, 2, 3, 4);
ArrayList<Integer> list6 = Lists.newArrayList(1, 2, 3, 5);
Collection intersection = CollectionUtils.intersection(list5, list6);
System.out.println("获取到两集合的交集为: " + intersection);
Collection union = CollectionUtils.union(list5, list6);
System.out.println("获取到两集合的并集为: " + union);
Collection disjunction = CollectionUtils.disjunction(list5, list6);
System.out.println("获取到两集合的补集为: " + disjunction);
Collection subtract = CollectionUtils.subtract(list5, list6);
System.out.println("获取到两集合的差集为: " + subtract);
运行的效果如下:
以上是关于Java实用的工具的主要内容,如果未能解决你的问题,请参考以下文章
Java中对数组升序排列用Arrays.sort( )方法,那降序排列用啥方法?