📜  如何在Java 8 中从 Stream 中获取 ArrayList

📅  最后修改于: 2022-05-13 01:55:19.130000             🧑  作者: Mango

如何在Java 8 中从 Stream 中获取 ArrayList

给定一个 Stream,任务是在Java 8 中将此 Stream 转换为 ArrayList。

例子:

Input: Stream: [1, 2, 3, 4, 5]
Output: ArrayList: [1, 2, 3, 4, 5]

Input: Stream: ['G', 'e', 'e', 'k', 's']
Output: ArrayList: ['G', 'e', 'e', 'k', 's']
  1. 使用 Collectors.toList() 方法
    1. 获取要转换的 Stream。
    2. 使用 collect() 和 Collectors.toList() 方法将流收集为 List。
    3. 将此列表转换为 ArrayList
    4. 返回/打印 ArrayList

    下面是上述方法的实现:

    程序:

    // Java program to convert Stream to ArrayList
    // using Collectors.toList() method
      
    import java.util.*;
    import java.util.stream.*;
      
    public class GFG {
      
        // Function to get ArrayList from Stream
        public static  ArrayList
        getArrayListFromStream(Stream stream)
        {
      
            // Convert the Stream to List
            List
                list = stream.collect(Collectors.toList());
      
            // Create an ArrayList of the List
            ArrayList
                arrayList = new ArrayList(list);
      
            // Return the ArrayList
            return arrayList;
        }
      
        // Driver code
        public static void main(String args[])
        {
      
            Stream
                stream = Stream.of(1, 2, 3, 4, 5);
      
            // Convert Stream to ArrayList in Java
            ArrayList
                arrayList = getArrayListFromStream(stream);
      
            // Print the arraylist
            System.out.println("ArrayList: " + arrayList);
        }
    }
    
    输出:
    ArrayList: [1, 2, 3, 4, 5]
    
  2. 使用 Collectors.toCollection() 方法:
    方法:
    1. 获取要转换的 Stream。
    2. 使用 collect() 和 Collectors.toCollection() 方法将流收集为 ArrayList。
    3. 返回/打印 ArrayList

    下面是上述方法的实现:

    程序:

    // Java program to convert Stream to ArrayList
    // using Collectors.toList() method
      
    import java.util.*;
    import java.util.stream.*;
      
    public class GFG {
      
        // Function to get ArrayList from Stream
        public static  ArrayList
        getArrayListFromStream(Stream stream)
        {
      
            // Convert the Stream to ArrayList
            ArrayList
                arrayList = stream
                                .collect(Collectors
                                .toCollection(ArrayList::new));
      
            // Return the ArrayList
            return arrayList;
        }
      
        // Driver code
        public static void main(String args[])
        {
      
            Stream
                stream = Stream.of(1, 2, 3, 4, 5);
      
            // Convert Stream to ArrayList in Java
            ArrayList
                arrayList = getArrayListFromStream(stream);
      
            // Print the arraylist
            System.out.println("ArrayList: "
                               + arrayList);
        }
    }
    
    输出:
    ArrayList: [1, 2, 3, 4, 5]