【Java】Java攻略笔记(1)


1、java.util.Collection.removeIf

//1、范例
List collect = Stream.of("1","你好","2","ww","wq","we").collect(Collectors.toList());
collect.removeIf(str -> str.startsWith("w"));
System.out.println(Arrays.toString(collect.stream().toArray()));

2、接口中使用静态方法

  • 为方法添加 static 关键字。
  • 提供一种无法被重写的实现。此时,静态方法类似于默认方法,包含在 Javadoc 的 Default Methods(默认标签)中。
  • 通过接口名访问方法。类不需要通过实现接口来使用静态方法。
List bonds = Arrays.asList("Connery", "Lazenby", "Moore",
    "Dalton", "Brosnan", "Craig");

List sorted = bonds.stream()
    .sorted(Comparator.naturalOrder())                
    .collect(Collectors.toList());
// [Brosnan, Connery, Craig, Dalton, Lazenby, Moore]

sorted = bonds.stream()
    .sorted(Comparator.reverseOrder())                
    .collect(Collectors.toList());
// [Moore, Lazenby, Dalton, Craig, Connery, Brosnan]
sorted = bonds.stream()
    .sorted(Comparator.comparing(String::toLowerCase)) 
    .collect(Collectors.toList());
// [Brosnan, Connery, Craig, Dalton, Lazenby, Moore]

sorted = bonds.stream()
    .sorted(Comparator.comparingInt(String::length))   
    .collect(Collectors.toList());
// [Moore, Craig, Dalton, Connery, Lazenby, Brosnan]

sorted = bonds.stream()
    .sorted(Comparator.comparingInt(String::length)    
        .thenComparing(Comparator.naturalOrder()))
    .collect(Collectors.toList());
// [Craig, Moore, Dalton, Brosnan, Connery, Lazenby]