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]