【问题标题】:Add Multidimensinal array to an array list using Java使用 Java 将多维数组添加到数组列表
【发布时间】:2012-11-05 23:54:53
【问题描述】:

我有一个方法(函数),它应该将 (8*6)Array 添加到数组列表中。函数被多次调用。

int [][] KeySelection = new int [8][7];

  for(int i=0;i<KeySelection.length;i++){
  for(int j=0;j<KeySelection[0].length;j++){
      KeySelection[i][j] = (int) (Math.random () * 2);

     }
  }

每次调用此函数时,都会完成一个全新的KeySelection 数组。我现在需要的是声明一个数组列表,以便它可以将所有 KeySelection 数组存储在该列表中。

所以当我需要第一个KeySelection 表时,我可以在数组列表的第一个索引中找到它。有人可以帮忙

【问题讨论】:

    标签: java multidimensional-array arraylist


    【解决方案1】:

    由于 Java 中的数组是特殊类型的对象,您可以使用对象的 ArrayList 来保存您的数组。像这样声明您的列表并通过 for 循环等填充它。

    ArrayList<int[][]> list = new ArrayList<int[][]>();
    

    【讨论】:

    • @user1111726 如果你没有这样的类,那么你的代码如何使用这个类???
    • 代码没有使用 KeySelection 类,而是使用了一个名为 KeySelection 的变量。
    • 我编辑了这个问题以便更好地理解。每次调用函数时,该方法都会初始化一个名为“KeySelection”的新二维数组,KeySelection 表中的新值。我需要的是每次调用函数时将它们添加到数组列表中,所以最后我可以有一个包含所有 KeySelection 数组的列表
    • @JB Nizet.. 是的,你明白了.. 有没有办法在每次调用函数时将这些 KeySelection Varaiable 添加到 Arraylist
    【解决方案2】:

    创建int[][] 类型的ArrayList:-

    List<int[][]> list = new ArrayList<int[][]>();
    

    然后,在创建后将您的数组添加到此列表中:-

    list.add(keySelection);
    

    注意:-变量名应以小写字母开头。

    【讨论】:

    • OK 完美.. 现在假设列表已满,当我需要调用时,让我们说第一个 KeySelection 表,确切的语法是什么
    • int[][] firstMatrix = list.get(0); 阅读Java tutorial on collectionsList javadoc
    • 完美..你就是男人! :D
    • 还有一个问题..“(Math.random () * 2)”是否将完全相同的值添加到完全相同的位置..所以如果函数运行两次我得到相同的 KeySelection 表
    • @user1111726.. 你到底想在这些数组中添加什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2014-08-25
    • 2012-04-27
    相关资源
    最近更新 更多