gpt4 book ai didi

java - 如何在不使用 Guava 或任何外部库的情况下将字符串类型的 ArrayList 拆分为 5 个不同的子数组?

转载 作者:行者123 更新时间:2023-11-30 06:49:19 25 4
gpt4 key购买 nike

目前我的代码将一组属性添加到下面的列表中,并返回一个具有 70 个属性的巨型 ArrayList。我希望将这 70 个属性分成 5 个数组,代表数据集的 5 列 - 这样我就可以更轻松地可视化,然后比较每个数组中的数据重复。

我不能使用像 guava 这样的外部库,因为它用于作业,所以我不能将任何额外的文件添加到项目中。

我找到了只能对字节列表进行分区的方法,以及一个我无法使用的 List<> 泛型方法。

有什么建议吗?我知道这应该很简单,但我找不到解决方案

ArrayList<String> allRows = new ArrayList<String>();


for (int ex = 1; ex < dataExamples; ex++) {
for( int ats = 0; ats < dataAttributes; ats++){

allRows(data[ex][ats]);



}
}
System.out.println(allRows);

最佳答案

这是一个以正确方式遍历数据的简单问题。

我不确定你是想水平插入二维数组还是垂直插入。所以我已经添加了两者,只需取消注释您想要的那个即可。

// Create fake data
ArrayList<Integer> allRows = new ArrayList<Integer>();
for (int i = 0; i < 70; i++)
allRows.add(i);

System.out.printf("All Data: %s%n", allRows.toString());

// Create 2 Dementional Array
ArrayList<ArrayList<Integer>> twoDRows = new ArrayList<ArrayList<Integer>>();
// Add the 5 rows
for (int i = 0; i < 5; i++)
twoDRows.add(new ArrayList<Integer>());

// Split allRows
for (int i = 0; i<allRows.size(); i++) {
int rowToAddTo;

// Horizontal
rowToAddTo = i/(allRows.size()/twoDRows.size());

// Vertical
rowToAddTo = i%twoDRows.size();

twoDRows.get(rowToAddTo).add(allRows.get(i));
}

// Pretty-ish print
for (ArrayList<Integer> array:twoDRows)
System.out.println(array);

关于java - 如何在不使用 Guava 或任何外部库的情况下将字符串类型的 ArrayList 拆分为 5 个不同的子数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005346/

25 4 0