首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java语言中遍历2D ArrayList并填充它?

如何在Java语言中遍历2D ArrayList并填充它?
EN

Stack Overflow用户
提问于 2015-11-04 05:35:44
回答 3查看 19.7K关注 0票数 2

我正在尝试在Java中使用2D arrayLists。我有这样的定义:

代码语言:javascript
复制
ArrayList<ArrayList<Integer>> myList = new ArrayList<ArrayList<Integer>>();

如何遍历它并输入从1开始的数字?我知道我可以通过使用以下命令访问特定的索引:

代码语言:javascript
复制
myList.get(i).get(j)

它将获得该值。但是我如何添加到矩阵中呢?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-04 05:39:49

您可以使用嵌套的for循环。I循环遍历外部ArrayList,j循环遍历myList包含的每个单独的ArrayList

代码语言:javascript
复制
for (int i = 0; i < myList.size(); i++)
{
    for (int j = 0; j < myList.get(i).size(); j++)
    {
        // do stuff
    } 
}

编辑:然后用// do stuff替换它来填充它

代码语言:javascript
复制
myList.get(i).add(new Integer(YOUR_VALUE)); // append YOUR_VALUE to end of list

A注意:如果myList最初是未填充的,则使用.size() 的循环将不会在中工作,因为您不能在不包含索引的ArrayList上使用.get(SOME_INDEX)。您将需要从0循环到您希望添加的值的数量,在第一个循环中创建一个新列表,使用.add(YOUR_VALUE)将每次迭代的新值附加到这个新列表,然后将这个新列表添加到myList。请参阅Ken's answer以获取一个完美的示例。

票数 9
EN

Stack Overflow用户

发布于 2015-11-04 05:39:59

如果您使用的是Java1.5之前的版本,请使用for-each循环。

代码语言:javascript
复制
for(ArrayList<Integer> row : myList) {

  for(Integer intValue : row) {

     // access "row" for inside arraylist or "intValue" for integer value.

  }

}
票数 7
EN

Stack Overflow用户

发布于 2015-11-04 05:51:51

假设该矩阵未被初始化,

代码语言:javascript
复制
int m = 10, n = 10;
ArrayList<ArrayList<Integer>> matrix = new ArrayList<ArrayList<Integer>>();

for (int i = 0; i < m; i++) {
    List<Integer> row = new ArrayList<Integer>();
    for (int j = 0; j < n; j++) {
        row.add(j);
    }
    matrix.add(row);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33509520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档