JAVA Stream API usage



我有一个用户实体

class User{
private String id; 
private String email;
private String name;
private int age :
... etc
}

我只想检索User类的一些属性,并制作一个映射列表。

我如何使用Java 8流来实现这一点?

换句话说,我想做这个

Stream <User> s = List <User> users.stream();
// only retrive email and name attribute from user and make a map using JAVA 8 Stream

返回类型应该是List <Map <String, String>>,看起来像下面的

{
{
"name" : "a",
"email" : "aa@aa.com"
},
{
"name" : "b",
"email " : "bb@bb.com"
}
}

您可以这样使用Stream.map()

List<Map<String,String>> result=users.stream().map(user->{
Map<String,String> map=new HashMap<>();
map.put("name",user.getName());
map.put("email",user.getEmail());
return map;
}).collect(Collectors.toList());

Stream.map((可以用于将流对象映射到您想要的任何对象。

最新更新