我有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()
在每次运行时都会发生变化,因此需要在每次运行时确定它们的大小。目前,我创建了一个ArrayList
,其中包含基于size()
armArray1
的变量。我想知道如何继续前进。任何帮助或指导都将受到高度赞赏。
//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]
答案 0 :(得分:1)
确定 Arraylist 的长度为 O(1),因为List实现维护 size 字段并且每次增加/减少修改清单。
那么为什么你不能这样做 -
Stream<String> combinedStream = Stream.of(list1, list2, list3).flatMap(Collection::stream);
List<String> finalList = combinedStream.collect(Collectors.toList());