将对象列表转换为 Long 列表

我有一个类如下:


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());

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


12345678_0001
浏览 368回答 1
1回答

斯蒂芬大帝

您可以根据需要链接任意数量的中间操作...class1List.stream() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.map(Class1::getClass2) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.map(Class2::getId) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.toList());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java