java - 从 ArrayList<MyObject> 获取 Set<String>

标签 java

我有一个School具有名称 String 的类字段。

public class School {
   private final String name;

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

   // getter and setter ...

}

我得到了一个ArrayListSchool实例:

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

我想要一个Set<String>其中包含上面所有学校名称 List 。我尝试使用 map()流API:

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

但是有没有一种简单的方法可以获得 Set<String>从上面的结果中输入结果?

最佳答案

使用收集器:

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

有关详细信息,请参阅:https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html

关于java - 从 ArrayList<MyObject> 获取 Set<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58082067/

相关文章:

java - Spring Boot Thymeleaf 不加载静态文件

Java Spring 无法创建使用枚举作为构造函数参数的 Bean

java - 我如何比较两个 MultiMaps?

java - 如何在java代码中使用S3DistCp

java - Spring boot-将服务注入(inject)doFiler

java - 如何创建一个可以将多个类作为输入的方法

java - 我可以从使用 GWT 创建的页面访问存储在 session 中的数据(之前由 servlet)吗?

java - 为表格的每一行选择一个复选框

java - 指定的编译器合规性是 1.6,但使用的是 JRE 1.8

java - Cobertura Java7 尝试使用资源