Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
地图<;字符串,Set<;T>&燃气轮机;在Java8中列出_Java_Java 8_Java Stream - Fatal编程技术网

地图<;字符串,Set<;T>&燃气轮机;在Java8中列出

地图<;字符串,Set<;T>&燃气轮机;在Java8中列出,java,java-8,java-stream,Java,Java 8,Java Stream,所以我有一节课: class User { public String name; public Integer age; public User(String name, Integer age) { this.name = name; this.age = age; } } 然后这张地图: Map<String, Set<Integer>> map = new HashMap<>();

所以我有一节课:

 class User {
    public String name;
    public Integer age;

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}
然后这张地图:

 Map<String, Set<Integer>> map = new HashMap<>();
 map.put("User", Set.of(18, 19, 20, 21));
Map Map=newhashmap();
地图放置(“用户”,第(18、19、20、21)组);
我想在此处获得4个用户的列表:

  • 姓名:“约翰”,年龄:18岁
  • 姓名:“约翰”,年龄:19岁
  • 有什么想法可以在Java8中使用
    实现吗?

    列表用户=map.entrySet()
    
    List<User> users = map.entrySet()
       .stream()
       .flatMap(e -> e.getValue().stream().map(x -> new User(e.getKey(), x)))
       .collect(Collectors.toList());
    
    .stream() .flatMap(e->e.getValue().stream().map(x->新用户(e.getKey(),x))) .collect(Collectors.toList());

    Set.of
    是java-9 btw

    这个问题不应该被标记为
    java流而不是
    java-9
    ?可能的重复不是泛化它,但看起来这里的答案无论如何都会解决同样的问题。可能的重复?不是泛化它,但似乎这里的答案无论如何都会解决同样的问题。