繁体   English   中英

我如何遍历此数组列表

[英]How do i iterate through this arraylist

我是编程新手。 我试图自学Java,并且搞不懂ArrayLists 如何分别打印每个字符串? 现在,我可以在打印每个列表的位置使用它,但是我希望能够单独处理每个字符串。 就像如果我想使用for循环打印出每个字符串的长度那样,我该怎么做? 我尝试做标准的for循环,但是我不知道要为终止要求添加什么。 我尝试了i < 2因为test[3]的长度为2,但是由于其他测试列表仅包含一个元素,因此出现了超出范围的错误。

public static void main(String[] args)
{
  int arrlen = 4;
  ArrayList[] test = new ArrayList[arrlen];

  for(int i=0; i<arrlen; i++)
  {
    test[i] = new ArrayList<String>();
  }

  test[0].add("zero");
  test[1].add("one");
  test[2].add("two");
  test[3].add("three");
  test[3].add("second three");


  for(ArrayList i : test)
  {
    System.out.println(i);
  }

}

做:

  for(ArrayList<String> arrayList : test)
  {
    for(String s: arrayList) {
        System.out.println(s);
    }
  }

要么,

  for(ArrayList<String> arrayList : test)
  {
    for(int t = 0; t < arrayList.size(); t++) {
        System.out.println(arrayList.get(t));
    }
  }

我认为如果您在这里,您正在尝试实现嵌套的arraylist

ArrayList<ArrayList<Integer>> outer = new ArrayList<ArrayList<Integer>>();
    ArrayList<Integer> inner = new ArrayList<Integer>();        

    inner.add(100);     
    inner.add(200);
    outer.add(inner); // add first list
    inner = new ArrayList<Integer>(inner); // create a new inner list that has the same content as  
                                           // the original inner list
    outer.add(inner); // add second list

    outer.get(0).add(300); // changes only the first inner list

    System.out.println(outer);

下面应该有所帮助。

public static void main(String[] args) {
        ArrayList<Integer> test = new ArrayList<Integer>();
        test.add(1);
        test.add(2);
        test.add(3);
        test.add(4);
        test.add(5);

        //USING FOR EACH LOOP:
        for (Integer i : test) {
            System.out.println(i);
        }

        //USING FOR LOOP:
        for (int i = 0; i < test.size(); i++) {
            System.out.println(test.get(i));
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM