將流連線到單個 String
經常遇到的用例是從流建立 String
,其中 stream-items 由特定字元分隔。Collectors.joining()
方法可以用於此,如下例所示:
Stream<String> fruitStream = Stream.of("apple", "banana", "pear", "kiwi", "orange");
String result = fruitStream.filter(s -> s.contains("a"))
.map(String::toUpperCase)
.sorted()
.collect(Collectors.joining(", "));
System.out.println(result);
輸出:
蘋果,香蕉,橙子,梨
Collectors.joining()
方法還可以滿足字首和字尾:
String result = fruitStream.filter(s -> s.contains("e"))
.map(String::toUpperCase)
.sorted()
.collect(Collectors.joining(", ", "Fruits: ", "."));
System.out.println(result);
輸出:
水果:蘋果,橙子,梨。