Java 中的输入/输出与流
Alex Liu
Software Development Engineer
Java Streams
ArrayList、LinkedList)HashSet、TreeSet)Keys/Values 作为 Streams)(如 HashMap、TreeMap)Arrays.stream())余下示例使用名为 names 的 ArrayList
names: ["Alice", "Bob", "Charlie", "David"]
(parameters) -> { expression }names.forEach(
// `name` is a parameter representing each element in the list
name ->
// This is the expression executed for each element.
System.out.println(name));
Alice
Bob
Charlie
David
将集合转换为 Stream
.stream()List、Set 和 Queue导入 Stream 类
import java.util.stream.Stream;
names 转为流,并用 .foreach() 访问每个元素Stream<String> stream = names.stream();
stream.forEach(name -> System.out.println(name));
.filter() 选择元素names 转为流Stream<String> stream = names.stream();
.filter() 匹配以 A 开头的元素,并用 .forEach() 打印stream
.filter(name -> name.startsWith("A"))
.forEach(name -> System.out.println(name));
Alice用 .count() 统计元素数
long将示例列表 names 转为流
Stream<String> stream = names.stream();
用 .filter() 匹配以 B 开头的元素,并用 .count() 计数
long count = names.stream()
.filter(name -> name.startsWith("B"))
.count();
计数结果:1(只有 Bob 以 B 开头)
Streams:Streams:Java 中的输入/输出与流