gpt4 book ai didi

java - Java 8 中从 Map 到 List 属性的过滤键

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:34 26 4
gpt4 key购买 nike

我有一个列表和一个 map 如下:

public class student {
private String name;
private String age;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
student(String id,String name,String age)
{
}
}
List<student> stulist = Arrays.asList(new student("1", "vishwa",null),
new student("3", "Ravi",null),
new student("2", "Ram",null));

Map<String,String> newmap = new HashMap() {
{
put("1","20");
put("2","30");
}
};

I am comparing like this: If id in map matches the id in list then add age from Map to age of List.

到目前为止我已经试过了,但是我无法得到它。

newmap.entrySet().stream().filter(entry->entry.getKey().equals(student::getId)).collect(..collect here to list..);

最佳答案

stulist = stulist.stream().map(instance -> {
student studentInstance = instance;
studentInstance.setAge(newMap.getOrDefault(studentInstance.getId(),"<default age>"));
return studentInstance;
}).collect(Collectors.toList()); ;

ps:使用正确的命名约定。将类(class)名称 student 更改为 Student。

关于java - Java 8 中从 Map 到 List 属性的过滤键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54742057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com