我有一个用户实体
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((可以用于将流对象映射到您想要的任何对象。