使用Streams java从对象列表中获取成员列表

时间:2017-05-02 09:42:39

标签: java list object java-stream

我有一个有两个成员的类和一个该类的对象列表。现在我想从对象列表中提取成员列表。

例如:

class student {
      int Id;
      String studentName;
}

现在我需要从学生列表中检索studentName列表。如何使用java8 Streams完成这项工作?

不使用流的解决方案:

List<student> studentList;
List<String> nameList = new ArrayList<String>();
Iterator iterator = studentList.iterator();
while(iterator.hasNext()){
  nameList.add(iterator.next().getStudentName());
}

1 个答案:

答案 0 :(得分:3)

您需要使用Stream#map方法,如下所示:

List<Student> students = ...;
List<String> names = students.stream().map(Student::getName).collect(toList());