跟Java相关的一些笔记 yyyy-MM-dd HH:mm:ss.ms 2018-06-08 15:49:00.490 yyyy年MM月dd日 HH:mm:ss.ms 2018年06月08日 15:53:15.5315 Y年M月d日 hⓂ️s.ms 2018年6月8日 3:55:54.5554时间格式
数组、List、Map互相转换
String[] sArr = {"1", "2"};
// 转成list
List<String> sList = Arrays.stream(sArr).collect(Collectors.toList());
// 转换成Integr的list
List<Integer> iList = Arrays.stream(sArr).map(Integer::parseInt).collect(Collectors.toList());
// 转成map,key和value都为数组的值
Map<String, String> sMap = Arrays.stream(sArr).collect(Collectors.toMap(s -> s, s -> s));
// list转数组
String[] sArr2 = sList.stream().toArray(String[]::new);
// String的list转Integer的数组
Integer[] iArr = sList.stream().map(Integer::parseInt).toArray(Integer[]::new);
// list转map,key和value都为list的值
Map<String, String> sMap2 = sList.stream().collect(Collectors.toMap(s -> s, s -> s));
// map的value转list
List<String> sList3 = sMap2.values().stream().collect(Collectors.toList());
// map的value转数组
String[] sArr3 = sMap2.values().stream().toArray(String[]::new);
排序
List<SubSystem> subSystems = super.listAll();
// 根据SubSystem的id来进行排序,reversed()表示反向排序,否则就是正向排序
Collections.sort(subSystems, Comparator.comparing(SubSystem::getId).reversed());
// 更复杂的排序,例如:如果SubSystem的host相同,就根据id来排序
Comparator<SubSystem> comparator = (s1,s2) -> {
if (Objects.equal(s1.getHost(), s2.getHost())) {
return Long.compare(s1.getId(), s2.getId());
}
return s1.getHost().compareTo(s2.getHost());
};
Collections.sort(subSystems, comparator.reversed());
去重
list.stream().distinct()