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



我有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()在每次运行时都会更改,因此需要在每次运行时确定它们的大小。现在,我创建了一个包含基于armArray1size()变量的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());

最新更新