我对编程比较陌生。我正在尝试自学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);
}
}
答案 0 :(得分:2)
执行:
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));
}
}
答案 1 :(得分:1)
我认为你正在尝试实现嵌套的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);
答案 2 :(得分:-4)
下面应该有帮助。
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));
}
}