gpt4 book ai didi

java - 在列表的某个字段上创建 addAll()

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

对不起标题,但我不知道如何更好地解释它!

假设我在 Java 中有这个类:

public class ToyClass {
public int number;
}

还有一个名为 ToyClassList 的 ToyClass 对象列表

有任何方法可以做这样的事情:

List<Integer> numbersInToyClassList = new ArrayList<>().addAll(ToyClassList.number)

换句话说,我正在尝试以更优雅的方式编写这段代码:

List<Integer> numbersInToyClassList = new ArrayList<>();
for(ToyClass element : ToyClassList)
numbersInToyClassList.add(element.number);

最佳答案

在 Java 7 及更早版本中,您可以添加几行代码来实现您自己的 Stream API:

    interface Function<A, B> {
B map(A a);
}

class ListUtil {
public static <A, B> List<B> map(Function<A, B> function, List<A> aList) {
List<B> bList = new ArrayList<>();
for (A a : aList) {
bList.add(function.map(a));
}
return bList;
}
}

并使用以下代码转换您的toyClassList:

List<Integer> numbersInToyClassList = ListUtil.map(
new Function<ToyClass, Integer>(){
public Integer map(ToyClass toy){
return toy.number;
}
}, toyClassList);

关于java - 在列表的某个字段上创建 addAll(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28966462/

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