在Java中使用泛型将集合转换为流的程序

Java集 是java的一部分。util包并扩展了java。util。收集接口。它不允许使用重复元素,并且最多只能容纳一个空元素。

null

A. 流动 是一系列支持各种方法的对象,这些方法可以通过流水线生成所需的结果。

下面是各种转换方法 启动 .

  1. 使用集合。流() :此方法涉及使用集合将集合直接转换为流。stream()方法。

    算法 :

    1. 获取要转换的集合。
    2. 将设置转换为流。这是使用Set完成的。stream()。
    3. 返回/打印流。

    // Java Program to convert
    // Set to Stream in Java 8
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.*;
    class GFG {
    // Generic function to convert a set to stream
    private static <T> Stream<T> convertSetToStream(Set<T> set)
    {
    return set.stream();
    }
    // Main method
    public static void main(String args[])
    {
    // Create a set of String
    Set<Integer> setOfInteger = new HashSet<>(
    Arrays.asList( 2 , 4 , 6 , 8 , 10 ));
    // Print the set of Integer
    System.out.println( "Set of Integer: " + setOfInteger);
    // Convert Set of Stream
    Stream<Integer>
    streamOfInteger = convertSetToStream(setOfInteger);
    // Print the Stream of Integer
    System.out.println( "Stream of Integer: "
    + Arrays.toString(
    streamOfInteger.toArray()));
    }
    }

    
    

    输出:

    Set of Integer: [2, 4, 6, 8, 10]
    Stream of Integer: [2, 4, 6, 8, 10]
    

  2. 使用谓词过滤流 :在此方法中,使用filter(Predicate)方法返回由与给定谓词条件匹配的元素组成的流。函数接口谓词在java中定义。util。函数包,因此可以用作lambda表达式或方法引用的赋值目标。它提高了代码的可管理性,有助于单独进行单元测试

    算法 :

    1. 获取要转换的集合。
    2. 通过使用预定义的静态方法或通过重写谓词接口创建新方法来定义谓词条件。在这个程序中,接口被重写以匹配以“G”开头的字符串。
    3. 将设置转换为流。这是使用Set完成的。stream()。
    4. 使用定义的谓词条件过滤获得的流
    5. 已获得所需的流。返回/打印流。

    // Java Program to convert
    // Set to Stream in Java 8
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.*;
    class GFG {
    // Generic function to convert a set to stream
    private static <T> Stream<T>
    convertSetToStream(Set<T> set, Predicate<T> predicate)
    {
    return set.stream()
    .filter(predicate);
    }
    // Main method
    public static void main(String args[])
    {
    // Create a set of String
    Set<String>
    setOfString = new HashSet<>(
    Arrays.asList( "GeeksForGeeks" ,
    "A computer portal" ,
    "for" ,
    "Geeks" ));
    // Print the set of String
    System.out.println( "Set of String: " + setOfString);
    // Create the predicate for item starting with G
    Predicate<String> predicate = new Predicate<String>() {
    @Override
    public boolean test(String s)
    {
    // filter items that start with "G"
    return s.startsWith( "G" );
    }
    };
    // Convert Set of Stream
    Stream<String>
    streamOfString = convertSetToStream(setOfString, predicate);
    // Print the filter Stream of String
    System.out.println( "Stream from List with items"
    + " starting with G: " );
    System.out.println(Arrays.toString(
    streamOfString.toArray()));
    }
    }

    
    

    输出:

    Set of String: [for, Geeks, GeeksForGeeks, A computer portal]
    Stream from List with items starting with G: 
    [Geeks, GeeksForGeeks]
    

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享