java - 将对象列表转换为 Long 列表

标签 java java-8 java-stream

我有一个类如下:

Class1 {
    private Class2 class2;
    ...
}

我想将 Class1 列表转换为 Class2::getId() 列表,这是我尝试过的:

List<Class2> class2List = class1List.stream().map(Class1::getClass2).collect(Collectors.toList());
List<Long> class2Ids = class2List .stream().map(Class2::getId).collect(Collectors.toList());

有没有办法在一条指令中做到这一点?

最佳答案

您可以根据需要链接任意数量的中间操作...

class1List.stream()
          .map(Class1::getClass2)
          .map(Class2::getId)
          .collect(Collectors.toList());

关于java - 将对象列表转换为 Long 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202104/

相关文章:

Java实现接口(interface)Comparable,将手动输入的数据与生成的数据进行比较

java - 如何从外部 block 开始在 lambda block 中重新抛出异常?

java - 列表数据包含其他列表中的所有确切数据

java - 使用 Java 8 Stream 替换 for 循环并填充 Map

java - 如何使用java获取json中的数组?

Java integer++i 不改变值

java - 如何使用 Java 流重新组合树状图

java - 使用 Java 8 流处理嵌套的 if/else 语句

java - 二维数组的流式操作

java - 如何获取表格内的文本并迭代多个