如何通过数组的特定索引将数据添加到 arraylist?

How do i add data to arraylist by a particular index of array?

Click here for pic of Arraylists in an array Java

是否可以将数组列表添加到数组中?我想将数据插入到数组的特定索引号中。例如,进入 array[3] 的 arraylist。如果不可能,我该如何以其他方式解决?我正在 java 中编写 kmeans 聚类。这是向特定集群添加元素。

首先,ArrayList 必须包含与数组长度相同数量的元素,因为数组一旦实例化就无法更改其长度。您可以做的是使用 ArrayList 中的项数构建一个数组。

例如:

List<Integers> list = new ArrayList<Integers>(); 
int[] arr = new int[list.size()];

然后将 ArrayList 的元素添加到数组中:

for (int i = 0; i < list.size(); i++) {
    arr[i] = list.get(i);
}

你的问题不是很清楚,但如果你需要的是创建一个 ArrayListArrayList,意味着父 ArrayList 和其他 ArrayList作为元素,您可以使用通用类型,也称为模板。

要声明您的父数组,您可以这样做,假设您的内部子数组将包含 int 值:

ArrayList<ArrayList<Integer>> arrayOfarrays = new ArrayList<>();

为了从内部子数组之一访问数据,您可以这样做:

int value = arrayOfarrays.get(3).get(0);

该行将 return 索引 3 处的子数组中索引 0 处的值。 为了添加子数组,您需要使用 add 方法:

ArrayList<Integer> childArray = new ArrayList<>();
arrayOfarrays.add(childArray); //adds the given array at the last position
arrayOfarrays.add(1, childArray); //adds the given array at index 1