gpt4 book ai didi

java - 方法错误 - 使用 Iterator 交织列表

转载 作者:行者123 更新时间:2023-12-04 19:23:39 25 4
gpt4 key购买 nike

我创建了一个方法,该方法应该交织两个列表对象并返回新的交织列表。

即如果 aList 是 [A,C,E,G] & bList 是 [B, D, F] 该方法将返回一个包含 [A, B, C, D, E, F, G] 的列表

没有编译器错误,当我运行程序时,返回的列表是空的。我发现该程序没有进入 for 循环,因为出于某种原因,当我创建 newList 时,它的大小为 0。

代码如下:

    public static <E> List<E> interweave(List<E> a, List<E> b){
List<E> newList = new ArrayList<E>(a.size() + b.size());

Iterator<E> itrA = a.iterator();
Iterator<E> itrB = b.iterator();

for(int i = 0; i < newList.size(); i++){
if(i%2 == 0)
newList.add(i, itrA.next());
else
newList.add(i, itrB.next());
}

return newList;
}

最佳答案

我相信这可以通过更简单的方式完成,使用 while(iterator.hasNext()) 成语:

itrA = a.iterator();
itrB = b.iterator();

while (itrA.hasNext() || itrB.hasNext()) {
if (itrA.hasNext())
newList.add(itrA.next());
if (itrB.hasNext())
newList.add(itrB.next());
}

关于java - 方法错误 - 使用 Iterator 交织列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719860/

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