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 轉為 stream,並用 .foreach() 存取每個元素Stream<String> stream = names.stream();
stream.forEach(name -> System.out.println(name));
.filter() 篩選元素names 轉為 streamStream<String> stream = names.stream();
.filter() 篩出以 A 開頭的元素,並用 .forEach() 印出stream
.filter(name -> name.startsWith("A"))
.forEach(name -> System.out.println(name));
Alice用 .count() 計算元素數量
long 格式將範例清單 names 轉為 stream
Stream<String> stream = names.stream();
用 .filter() 篩出以 B 開頭的元素,並用 .count() 計數
long count = names.stream()
.filter(name -> name.startsWith("B"))
.count();
計數結果:1(只有 1 個元素 Bob 以 B 開頭)
Streams:Streams:Java 的輸入/輸出與串流