用 Java 将列表转换为流的程序
原文:https://www . geesforgeks . org/program-to-convert-list-to-stream-in-Java/
列表是收藏的子界面。它是对象的有序集合,其中可以存储重复的值。因为列表保留了插入顺序,所以它允许元素的位置访问和插入。列表接口由数组列表、链表、向量和栈类实现。
一个流是一个支持各种方法的对象序列,这些方法可以被流水线化以产生期望的结果。
下面是用 Java 将列表转换为流的各种方法:
-
Using List.stream() method: Java List interface provides stream() method which returns a sequential Stream with this collection as its source.
语法:
java List.stream()
算法:
- 获取流
- 使用 List.stream()方法将流转换为列表。
- 返回列表
程序:
```java // Java Program to convert // List to Stream in Java 8
import java.util.; import java.util.stream.; import java.util.function.Function;
class GFG {
// Generic function to convert a list to stream private static Stream convertListToStream(List list) { return list.stream(); }
public static void main(String args[]) {
// Create a stream of integers List list = Arrays.asList("GeeksForGeeks", "A computer portal", "for Geeks");
// Print the List System.out.println("List: " + list);
// Convert List to stream Stream stream = convertListToStream(list);
// Print the Stream System.out.println("Stream from List: " + Arrays.toString(stream.toArray())); } } ```
Output:
```java List: [GeeksForGeeks, A computer portal, for Geeks] Stream from List: [GeeksForGeeks, A computer portal, for Geeks]
```
-
Filter Stream using a Predicate: The Functional Interface Predicate is defined in the java.util.Function package and can therefore be used as the assignment target for a lambda expression or method reference. It improves manageability of code, helps in unit-testing them separately
算法:
- 获取流
- 通过使用预定义的静态方法或通过重写谓词接口创建新方法来定义谓词条件。在这个程序中,接口被覆盖以匹配以“G”开头的字符串。
- 使用 List.stream()方法将流转换为列表。
- 使用定义的谓词条件过滤获得的流
- 已获得所需的流。 因此,使用 forEach()方法打印流的过滤元素。 也可以根据需要退货。
程序:
```java // Java Program to convert // List to Stream in Java 8
import java.util.; import java.util.stream.; import java.util.function.*;
class GFG {
public static void main(String args[]) {
// Create a stream of integers List list = Arrays.asList("GeeksForGeeks", "A computer portal", "for", "Geeks");
// Print the List System.out.println("List: " + list);
// Create the predicate for item starting with G Predicate predicate = new Predicate() { @Override public boolean test(String s) { // filter items that start with "G" return s.startsWith("G"); } };
System.out.println("Stream from List with items"+ " starting with G: ");
// Convert List to stream list.stream() .filter(predicate) .forEach(System.out::println); } } ```
Output:
```java List: [GeeksForGeeks, A computer portal, for, Geeks] Stream from List with items starting with G: GeeksForGeeks Geeks
```
版权属于:月萌API www.moonapi.com,转载请注明出处