作者:九橙seven | 来源:互联网 | 2023-01-28 11:33
我试图使用Streams API在HashMap中过滤条目,但是在最后一次方法调用中停留了Collectors.toMap
.所以,我没有实现toMap方法的线索
public void filterStudents(Map studentsMap){
HashMap filteredStudentsMap = studentsMap.entrySet().stream().
filter(s -> s.getValue().getAddress().equalsIgnoreCase("delhi")).
collect(Collectors.toMap(k , v));
}
public class Student {
private int id;
private String firstName;
private String lastName;
private String address;
...
}
有什么建议?
1> Eran..:
只需Map
从通过过滤器的条目的键和值中生成输出:
public void filterStudents(Map studentsMap){
Map filteredStudentsMap =
studentsMap.entrySet()
.stream()
.filter(s -> s.getValue().getAddress().equalsIgnoreCase("delhi"))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}
@Ankit您想使用必要的最简单的接口.如果它是一个HashMap(它将是),应该没关系,但是如果你需要像LinkedHashMap这样的特定实现,那么你需要使用4个参数来映射/sf/ask/17360801/ -tomap - 从列表,如何对保的阶