gpt4 book ai didi

java - 使用 java 流将两个相同大小(和不同类型)的列表组合成域对象列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:33:21 24 4
gpt4 key购买 nike

我有两个相同大小的 idsresults 列表,我想创建包含域对象的新列表。

List<Id> ids = ...

List<Result> results = redisTemplate.opsForValue().multiGet.get(ids);

List<DomainObject> list = // list of domain objects new DomainObject(id, result);

我用过的解决方案:

List<DomainObject> list = new ArrayList<>(ids.size());
for (int i = 0; i < ids.size(); i++) {
list.add(new DomainObject(ids.get(i), results.get(i)));
}

有没有更优雅的方式来做到这一点,例如。使用流?

最佳答案

这种方式与 Streams 的等价物是:

List<DomainObject> list = IntStream.range(0, ids.size())
.mapToObj(i -> new DomainObject(ids.get(i), results.get(i)))
.collect(Collectors.toList());

或者看看Iterate two Java-8-Streams

关于java - 使用 java 流将两个相同大小(和不同类型)的列表组合成域对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49072760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com