1.java.util.Collections
排序、最大值、最小值、转不可修改集合、转线程安全集合、空集合、二分查找....
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
Collections.sort(list); // 升序
Collections.reverse(list); // 降序(先升后降)
Integer max = Collections.max(list); //获取最大值
Integer min = Collections.min(list); //获取最小值
List<Integer> integers1 = Collections.synchronizedList(list); //将ArrayList转换成线程安全集合
Collections.emptyList(); //空集合
int i = Collections.binarySearch(list, 3); //二分查找
List<Integer> integers2 = Collections.unmodifiableList(list); //转换成不可修改集合
}
2.Apache CollectionUtils
判空、合并集合【并集,交集...】
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
List<Integer> list1 = new ArrayList<>();
list1.add(2);
list1.add(4);
CollectionUtils.isEmpty(list); //判空
CollectionUtils.isNotEmpty(list); //非空
//获取并集
Collection<Integer> unionList = CollectionUtils.union(list, list1);
System.out.println(unionList);
//获取交集
Collection<Integer> intersectionList = CollectionUtils.intersection(list, list1);
System.out.println(intersectionList);
//获取交集的补集
Collection<Integer> disjunctionList = CollectionUtils.disjunction(list, list1);
System.out.println(disjunctionList);
//获取差集
Collection<Integer> subtractList = CollectionUtils.subtract(list, list1);
System.out.println(subtractList);
}
3. com.google.common.collect.Lists
创建集合、笛卡尔积、分页、流处理、逆序
public static void main(String[] args) {
List<Integer> list1 = Lists.newArrayList(); // 创建空集合
List<Integer> list2 = Lists.newArrayList(1, 2, 3); // 快速初始化集合
List<List<Integer>> productList = Lists.cartesianProduct(list1, list2); // 笛卡尔积
List<List<Integer>> partitionList = Lists.partition(list2, 2); // 分页
List<String> transformList = Lists.transform(list1, x -> x + ""); // 流处理
List<Integer> reverseList = Lists.reverse(list2); // 颠倒顺序
}
4.java.util.Objects
判null、对象是否相等、或HashCode
public static void main(String[] args) {
Objects.isNull(null); // 判null
Objects.requireNonNull(null,"参数不能为空"); // 判null、抛异常
Integer a = 1200;
Integer b = 1200;
System.out.println(Objects.equals(a, b)); // 判断两个对象是否相等
Objects.hashCode("str"); // 获取对象的hashCode
}
5.org.apache.commons.lang3.BooleanUtils
True/false判断、转数字
public static void main(String[] args) {
// 判断true或false
BooleanUtils.isTrue(Boolean.TRUE);
BooleanUtils.isNotTrue(Boolean.TRUE);
BooleanUtils.isFalse(Boolean.FALSE);
BooleanUtils.isNotFalse(Boolean.FALSE);
// 转换成数字
BooleanUtils.toInteger(Boolean.TRUE);
}
6.org.apache.commons.lang3.StringUtils
判空、分割字符串、纯数字判断、集合转字符串
public static void main(String[] args) {
// ""," ","null 判断
StringUtils.isEmpty("");
StringUtils.isNotEmpty("");
StringUtils.isBlank("");
StringUtils.isNotBlank("");
// 分隔字符串 str1.split(",") 空指针异常
StringUtils.split(null,",");
// 判断是否纯数字
StringUtils.isNumeric("123");
// 将集合拼接成字符串
StringUtils.join(Lists.newArrayList("a", "b", "c"), ",");
}
7.org.apache.commons.io.IOUtils
读取文件、写入文件、拷贝文件
public static void main(String[] args) {
// 读取文件
String str = IOUtils.toString(new FileInputStream("/a.txt"), StandardCharsets.UTF_8);
// 写入文件
IOUtils.write("243", new FileOutputStream("/b.txt"), StandardCharsets.UTF_8);
// 文件拷贝
IOUtils.copy(new FileInputStream("/a.txt"), new FileOutputStream("/b.txt"));
// 文件拷贝
IOUtils.copy(new FileInputStream("/a.txt"), new FileOutputStream("/b.txt"));
}
8.org.apache.commons.codec.digestDigestUtils
MD5 /SHA 加密
public static void main(String[] args) {
// MD5 加密
String md5Hex = DigestUtils.md5Hex("123");
// SHA256 加密
String sha256Hex = DigestUtils.sha256Hex("123");
}
9.org.springframework.util.SerializationUtils
序列化、反序列化
public static void main(String[] args) {
Map<String, String> map = Maps.newHashMap();
map.put("k", "v");
byte[] serialize = SerializationUtils.serialize(map);
Object deserialize = SerializationUtils.deserialize(serialize);
System.out.println(deserialize);
}