Java

2019-10-12 Views

跟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()

△