如何使用java stream将某个类的列表转换为该类的任何一个属性的列表/集合?
我有一节课如何使用java stream将某个类的列表转换为该类的任何一个属性的列表/集合?,java,list,class,set,java-stream,Java,List,Class,Set,Java Stream,我有一节课 class Student{ int id; String name; public static void main(String args[]){ Student s1=new Student(); System.out.println(s1.id); System.out.println(s1.name); } } 我有一份班级学生名单,比如说,列出100人的学生名单 我想流式传输所有学生的id,并将其保存在一个集合中,一个简单
class Student{
int id;
String name;
public static void main(String args[]){
Student s1=new Student();
System.out.println(s1.id);
System.out.println(s1.name);
}
}
我有一份班级学生名单,比如说,列出100人的学生名单
我想流式传输所有学生的id,并将其保存在一个集合中,一个简单的方法是使用for循环,有人能告诉我如何使用java流API实现相同的方法吗;
Set studentId=students.stream()
.map(s->s.id)
.collect(收集器.toSet());
如果您的Students对象具有ID的getter方法,您可以直接:
公共班级学生{
私有int-id;
公共int getId(){
返回此.id;
}
}
Set studentId=students.stream()
.map(Student::getId)/Set
而不是Set