记录也是种学习
- 创建/获取
Stream.of(“a”,“b”,“c”);
Stream.iterator(10, n->n+1);
Stream.generate(Math::random);
集合/数组/字符串 .stream(); - 循环 forEach
list.forEach(System.out::println); - 映射 map
stream.map(i->i*3)
List<String> usernameList = list.stream().map(User::getUserName).collection(Collections.toList());
- 过滤 fifter
stream.fifter(str->str.isEmpty) - 限制数量 limit
stream.limit(10) - 排序 sorted
stream.sorted() - 规约 Collectors
stream.collect(Collectors.toList()) - 收集 主要用于int、double、long等基本类型上
stream.count() - 流的连接 concat flatMap
concat(stream1, stream2)
Stream.of(first, second, third).flatMap(Function.identity()); - 查找 findFirst 和 findAny
- 匹配
anyMatch(任何一个元素匹配,返回 true)、allMatch(所有元素匹配,返回 true)、noneMatch(没有一个元素匹配,返回 true)
jdk1.8新写法(idea会提示)
旧写法:
while (it.hasNext()) {
if (it.next().equals("lisi")) {
it.remove();
}
}
新写法:
list.removeIf(o -> o.equals("lisi"));