📜  使用Java Stream 在单行中使用指定值初始化列表

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

使用Java Stream 在单行中使用指定值初始化列表

给定一个值N ,任务是使用 Stream 在Java中的单行中创建一个具有该值 N 的列表。

例子:

Input: N = 5
Output: [5]

Input: N = GeeksForGeeks
Output: [GeeksForGeeks]

方法:

  • 获取值 N
  • 使用 generate() 方法生成流
  • 使用 limit() 方法将要创建的 List 的大小设置为 1
  • 使用 map() 方法传递要映射的值
  • 使用 Collectors.toList() 将生成的流转换为 List 并使用 collect() 方法收集返回

下面是上述方法的实现:

// Java program to initialize a list in a single
// line with a specified value using Stream
  
import java.io.*;
import java.util.*;
import java.util.stream.*;
  
class GFG {
  
    // Function to create a List
    // with the specified value
    public static  List createList(T N)
    {
  
        // Currently only one value is taken
        int size = 1;
  
        return Stream
  
            // Generate the Stream
            .generate(String::new)
  
            // Size of the List to be created
            .limit(size)
  
            // Passing the value to be mapped
            .map(s -> N)
  
            // Convert the generated stream into List
            .collect(Collectors.toList());
    }
  
    // Driver code
    public static void main(String[] args)
    {
  
        int N = 1024;
        System.out.println("List with element "
                           + N + ": "
                           + createList(N));
  
        String str = "GeeksForGeeks";
        System.out.println("List with element "
                           + str + ": "
                           + createList(str));
    }
}
输出:
List with element 1024: [1024]
List with element GeeksForGeeks: [GeeksForGeeks]