Stream API
Stream API
首先以
List<String> stringCollection = new ArrayList<>();
stringCollection.add("ddd2");
stringCollection.add("aaa2");
stringCollection.add("bbb1");
stringCollection.add("aaa1");
stringCollection.add("bbb3");
stringCollection.add("ccc");
stringCollection.add("bbb2");
stringCollection.add("ddd1");
//直接从数组创建流
int m = Arrays.stream(ints)
.reduce(Integer.MIN_VALUE, Math::max);
方法引用
有时候
- 静态方法引用
List<Integer> ints = Arrays.asList(1, 2, 3);
ints.sort(Integer::compare);
- 某个特定对象的实例方法
例如前面那个遍历并打印每一个
words.forEach(System.out::println);
- 某个类的实例方法
words.stream().map(word -> word.length()); // lambda
words.stream().map(String::length); // method reference
- 构造函数引用
// lambda
words.stream().map(word -> {
return new StringBuilder(word);
});
// constructor reference
words.stream().map(StringBuilder::new);