Java - 根据以前的ArrayLists的大小创建新的ArrayLists

时间:2018-03-27 02:45:08

标签: java arrays string arraylist dynamic

我有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]

1 个答案:

答案 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());