java - 如何使用流将值从对象添加到列表
问题描述
我有一个具有多个属性的对象,我想将多个属性添加到同一个列表
我能够添加一个属性找不到添加其他属性的方法。
如果可以,我们可以这样做吗?
List<MyObject> myObject = new ArrayList<>();
I have some values in the object here
List<Long> Ids = myObject .stream().map(MyObject::getJobId).collect(Collectors.toList());
在这里,我想从同一个 MyObject 对象 getTestId 添加一个属性到列表中是否有一种方法可以在上述相同的语句中添加?
解决方案
使用流创建两个列表,然后最后将它们组合起来, map 只能返回一个值getJobId
or getTestId
,因此您不能在同一次迭代中执行此操作。
List<Long> JobIds = myObject.stream().map(myObj::getJobId).collect(Collectors.toList());
List<Long> TestIds = myObject.stream().map(myObj::getTestId).collect(Collectors.toList());
List<Long> Ids = Stream.concat(JobIds.stream(), TestIds.stream()).collect(Collectors.toList());
推荐阅读
- wpf - WPF TreeView share size of grid column in single level
- c++ - 如何创建 char/std::byte 的 std::vector,其中第一个字节与 16 个字节对齐,但没有填充?
- javascript - 派生类是否更新其父类属性?
- python - 来自seaborn的颜色强度错误
- sql - SQL - 将逗号分隔的字符串转换为单独的行后更新表
- erlang - 当我将 ets 表转换为 Erlang 中的列表时,如何减少进程的内存使用量?
- spring - PathVariable 中的正则表达式无法正常工作 Spring
- git - 通过 cPanel 添加私有 git 仓库
- javascript - 如何延迟函数或如何在绘图中使用 settimout
- c# - Linq 错误输入字符串的格式不正确。System.Exception {System.FormatException}