我有两个数组列表,它们都包含相同数量的元素。我的想法是将这两个数组列表合并成一个,但我希望按照索引顺序逐个添加元素。目前我有下面列出的代码,但效率不高:
输出 = ["a", "b", "c", "d", "e", "f"];
ArrayList <String> listA = ["a", "c", "e"]
ArrayList <String> listB = ["b", "d","f"]
ArrayList <String> listC;
for (int i = 0; i < listA.size() + listB.size(); i++){
listC.add(listA.get(i));
lictC.add(listB.get(i));
}
return listC;
输出 = ["a", "b", "c", "d", "e", "f"];
listC
会是null,所以你无法调用.add()
方法...而那个for循环会导致IndexOutOfBounds Exception
异常。 - 3kingslistA.size()
,而不是listA.size() + listB.size()
。你的意思是说,这样不太有效率?那你有什么其他方法可以做到除了逐个读取所有元素并将它们相加? - Paul BoddingtonArrayList
。我建议你尝试创建一个最小的Android示例来演示性能问题,因为没有办法大幅度改善你向我们展示的问题的性能。 - Paul Boddington