我有ArrayList<String> armArray1=[1, 2, 3, 4]
和ArrayList<String> armArray2=[5, 6, 7, 8]
。两个数组的size()
将始终相等,但可以有 4 个元素到 100 个元素。
在每次运行时,我需要确定其中一个数组的size()
(因为两者的大小将始终相等)。在这种情况下,大小是4
所以我需要将两个数组中的相应元素放入一个新的ArrayList
中。例如:ArrayList<String> a=[1, 5]
、ArrayList<String> b=[2, 6]
、ArrayList<String> c=[3, 7]
、ArrayList<String> d=[4, 8]
。数组的size()
在每次运行时都会更改,因此需要在每次运行时确定它们的大小。现在,我创建了一个包含基于armArray1
size()
变量的ArrayList
。我正试图找出如何进一步进行。任何帮助或指导将不胜感激。
//create another ArrayList that would create the variables based on the size() of armArray1
ArrayList<String> var = new ArrayList<String>();
for (int i = 1; i < armArray1.size() / 3 + 1; i++) {
var.add("arm"+i);
}
//this gives [arm1,arm2,arm3,arm4]
确定Arraylist的长度为O(1),因为每次修改列表时,List 实现都会维护大小字段和递增/递减。
那你为什么不能简单地这样做——
Stream<String> combinedStream = Stream.of(list1, list2, list3).flatMap(Collection::stream);
List<String> finalList = combinedStream.collect(Collectors.toList());