gpt4 book ai didi

java - 在java中迭代2个列表

转载 作者:行者123 更新时间:2023-12-02 11:16:25 25 4
gpt4 key购买 nike

List<String> listA = new Arraylist();
List<String> listB = new Arraylist();

鉴于上面的两个列表,我想迭代并在每个元素上调用相同的方法。

选项 1

for(String aStr: listA){
someCommonMethodToCall(aStr);
someCommonMethodToCall(aStr);
...
}
for(String bStr: listB){
someCommonMethodToCall(bStr);
someCommonMethodToCall(bStr);
...
}

选项 2

List<String> mergedList = new ArrayList();
mergedList.addAll(listA);
mergedList.addAll(listB);

for(String elem: mergedList){
someCommonMethodToCall(elem);
someCommonMethodToCall(elem);
...
}

选项 3

我觉得选项1应该是最好的。有一些 Java 8 lambda 方法可以做到这一点吗?另外,就性能而言,还有比选项 1 更好的吗?

最佳答案

您可以流式传输列表并将流合并为一个:

Stream.concat(listA.stream(), listB.stream())
.forEach(elem -> {
someCommonMethodToCall(elem);
someOtherMethodToCall(elem);
});

关于java - 在java中迭代2个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927140/

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