gpt4 book ai didi

Java 8 Lambda Map 为每个创建一个新对象并将此新对象添加到列表中

转载 作者:行者123 更新时间:2023-12-02 04:34:39 24 4
gpt4 key购买 nike

Java 8 Lambda Map 为每个创建一个新对象并将这个新对象添加到列表中

这是我的第一步

Map<Integer, List<Obj>> objGroupBy = list.stream().collect(Collectors.groupingBy(Obj::getSomething)); 


List<Obj2> lst2= new ArrayList<Obj2>();

for (Entry<Integer, List<Obj>> entry : objGroupBy .entrySet())
{
lst2.add(new Obj2(entry.getKey().intValue(), entry.getValue()));
}

我想知道是否可以在 lambda 中做到这一点谢谢!

最佳答案

相当于您的代码:

List<Obj2> lst2 = list.stream()
.map(o -> new Obj2(o.getSomething(), o))
.collect(Collectors.toList());

现在,如果您确实想以同样的方式开始:

List<Obj2> lst2 = list.stream()
.collect(Collectors.groupingBy(Obj::getSomething))
.entrySet()
.stream()
.map(e -> new Obj2(e.getKey(), e.getValue()))
.collect(Collectors.toList());

关于Java 8 Lambda Map<Integer,List<Object> 为每个创建一个新对象并将此新对象添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31007480/

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