Java 中的流

javaobject oriented programmingprogramming

流表示来自源的对象序列,支持聚合操作。以下是流的特征 −

  • 元素序列 − 流以顺序方式提供一组特定类型的元素。流按需获取/计算元素。它从不存储元素。

  • − 流以集合、数组或 I/O 资源作为输入源。

  • 聚合操作 − 流支持聚合操作,如过滤、映射、限制、减少、查找、匹配等。

  • 流水线 − 大多数流操作都会返回流本身,以便可以对其结果进行流水线处理。这些操作称为中间操作,其功能是获取输入、处理输入并将输出返回给目标。collect() 方法是一种终端操作,通常出现在流水线操作的末尾,以标记流的末尾。

  • 自动迭代 − 流操作在提供的源元素上内部进行迭代,而集合则需要显式迭代。

示例

现在让我们看一个例子 −

import java.util.Collection;
import java.util.TreeSet;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("25", "10", "15", "20", "25");
      Collection<String> collection = stream.collect(Collectors.toCollection(TreeSet::new));
      System.out.println("Collection = "+collection);
   }
}

输出

Collection = [100, 130, 150, 20, 200, 50, 80]

示例

现在,让我们使用 Java 流 counting() 方法计算流中元素的数量 −

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("Kevin", "Jofra","Tom", "Chris", "Liam");
      // count
      long count = stream.collect(Collectors.counting());
      System.out.println("Number of elements in the stream = "+count);
   }
}

输出

Number of elements in the stream = 5

相关文章