当前位置: 首页 > 知识库问答 >
问题:

使用Java8Stream API从对象列表中收集列表

聂翼
2023-03-14

我有一节这样的课

public class Example {
    private List<Integer> ids;

    public getIds() {
        return this.ids; 
    }
}

如果我有一个此类对象的列表,如下所示

List<Example> examples;
List<Integer> concat = examples.stream().map(Example::getIds).collect(Collectors.toList());

共有1个答案

沈俊晤
2023-03-14

使用flatmap:

List<Integer> concat = examples.stream()
    .flatMap(e -> e.getIds().stream())
    .collect(Collectors.toList());
 类似资料:
  • 我有以下列表,里面是另一个列表,然后是字符串列表 <代码>列表 示例 除了执行嵌套循环并最终替换列表之外,还有更好的方法吗?也许有溪流?

  • 我正在努力找出如何使用Java流从对象值等于x的自定义对象列表中收集自定义对象。 这没有编译,但我不认为我离得很远--有人能指出我在哪里出错吗?

  • 我有包含项目数组的类存储。 每个项目(类项目)有不同的体积,我正在添加项目到商店。假设我有20个项目,我把10个添加到2或3个不同的商店,我必须根据这些项目的数量在商店中排序。

  • 我有一个包含两个成员的类和该类的对象列表。现在我想从对象列表中提取成员列表。 例如: 现在我需要从学生列表中检索studentName列表。如何使用java8流实现这一点? 不使用流的解决方案:

  • 问题内容: 如果我需要从List中删除一个对象(假设字符串“ abc” linkedList或ArrayList),则可以删除哪一个?(我认为两者都是相同的) ,如果我使用Linkedlist和arraylist,那么时间和空间的复杂度是多少 (我相信两者的时间复杂度都为O(n)相同) 问题答案: 两者都具有相同的时间复杂度-O(n),但是恕我直言,该版本会更快,尤其是在大型列表中,因为当您从数组