从ArrayList <MyObject>获取Set <String>

时间:2019-09-24 14:02:47

标签: java

我有一个School类,其名称为String字段。

public class School {
   private final String name;

   public School(String name) {
       this.name = name;
   }

   // getter and setter ...

}

我有ArrayList个实例中的一个School

List<School> shoolList = // Got value of ArrayList<School>

我想得到一个Set<String>,其中包含List以上的所有学校名称。我尝试使用流API的map()

schooList.stream().map(school -> school.getName())

但是有一种简单的方法可以从以上结果中获得Set<String>类型的结果吗?

1 个答案:

答案 0 :(得分:1)

使用Collectors

Set<String> allNames = schoolList.stream()
    .map(School::getName)
    .collect(Collectors.toSet());

有关更多信息,请参见:https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html