Java常用工具类
Collections类
排序
1 | // 看看使用Collections工具是如何实现升序和降序的 |
获取最大或最小值
1 | // 有时候需要找出集合中的最大值或者最小值,这时可以使用Collections的max和min方法 |
转换线程安全集合
1 | // java中的很多集合,比如:ArrayList、LinkedList、HashMap、HashSet等,都是线程不安全的 这些集合在多线程的环境中,添加数据会出现异常 |
返回空集合
1 | // 我们在判空之后,需要返回空集合,就可以使用emptyList方法 |
二分查找
1 | // binarySearch方法提供了一个非常好用的二分查找功能,只用传入指定集合和需要找到的key即可 |
转换成不可修改集合
1 | // 为了防止后续的程序把某个集合的结果修改了,有时候我们需要把某个集合定义成不可修改的,使用Collections的unmodifiablexxx方法就能轻松实现 |
apache的CollectionUtils工具类
集合判空
1 | // 通过CollectionUtils工具类的isEmpty方法可以轻松判断集合是否为空,isNotEmpty方法判断集合不为空。 |
对两个集合进行操作
1 | // 有时候我们需要对已有的两个集合进行操作,比如取交集或者并集 |
google.guava Lists
创建空集合
1 | List<Integer> list = Lists.newArrayList(); |
快速初始化集合
1 | List<Integer> list = Lists.newArrayList(1, 2, 3); |
笛卡尔积
1 | List<Integer> list1 = Lists.newArrayList(1, 2, 3); |
分页
1 | // 如果你想将一个大集合分成若干个小集合,可以使用Lists的partition方法 |
流处理
1 | // 想把某个集合转换成另外一个接口,可以使用Lists的transform方法 |
颠倒顺序
1 | List<Integer> list = Lists.newArrayList(3, 1, 2); |
Objects
对象判空
1 | // Objects的isNull方法判断对象是否为空,而nonNull方法判断对象是否不为空 |
对象为空抛异常
1 | // 在对象为空时,抛出空指针异常,可以使用Objects的requireNonNull方法 |
判断两个对象是否相等
1 | // 判断两个对象是否相等,Objects给我们提供了equals方法 |
BooleanUtils
转换成数字
1 | // 将true转换成数字1,false转换成数字0,可以使用toInteger方法 |
Boolean转换成布尔值
1 | // 将包装类Boolean对象,转换成原始的boolean对象,可以使用toBoolean方法 |
Assert
断言参数是否为空
1 | // 断言参数是否空,如果不满足条件,则直接抛异常 |
断言集合是否为空
1 | // 断言集合是否空,如果不满足条件,则直接抛异常 |
断言条件是否为空
1 | // 断言是否满足某个条件,如果不满足条件,则直接抛异常 |