动态填充2D数组-Java

时间:2018-09-22 18:27:00

标签: java arrays

我可以按顺序检索Java中的以下元素列表,并且需要将它们插入AxB维度矩阵中。如何将这些元素按顺序放入矩阵中?

Element: rainy
Element: hot
Element: high
Element: false
Element: No
Element: rainy
Element: cold
Element: normal
Element: true
Element: yes

我想要的输出是这样:

array = [[rainy, hot, high, false, No],[rainy, cold, normal, true, yes]]

如何开始?

2 个答案:

答案 0 :(得分:0)

这个问题对我来说不是很清楚,但是由于我无法发表评论,所以这里给出了答案:

我将假设您将数据存储在数组中(例如String [] dataset),并希望将其转换为二维数组,因此这里是步骤。

首先使用您的AxB大小初始化二维数组:

int a = dataset.length/5; // the size of your dataset divided by the chuncks
int b = 5; // the size of your chunck
String[][] processedDataset = new String[a][b];

然后,您要使用数据集填充二维数组。这可以通过基本的for循环来完成:

int k = 0;
for(int i = 0; i < processedDataset.length; i++){
  for(int j = 0; j < processedDataset[i].length; j++){
    processedDataset[i][j] = dataset[k++];
  }
}

答案 1 :(得分:0)

您可以使用guava库进行分区 Guava list partition

List<String> element= //...
List<List<String>> smallerLists = Lists.partition(element, # of partition you want);