查找 ArrayList 中所有值的长度

Finding length of all values in an ArrayList

对于一个程序,我试图按照以下方式重复嵌套的 for 循环:

for(int i = 0;i < ArrayList.size();i++){
    for(int x = 0;x <ArrayList.get(i).length();x++){
        //stuff
    }
}

基本上我想为 ArrayList 的每个索引中的每个字符重复一个 for 循环,但这个解决方案似乎不起作用。任何帮助表示赞赏!

编辑:数组列表在我的例子中将只包含字符串

更新代码:

您可以使用 java8 流来解决这个问题,更不用说它是空安全的。这是一个例子。

import java.util.ArrayList;
import java.util.List;

public class NestedList {

    public static void main(String[] args) {

        List<String> list1 = new ArrayList<>();
        list1.add("JOHN");
        list1.add("JACK");
        list1.add("CYTHIA");
        list1.add("DANNY");

        list1.stream().forEach( str -> {
            char x;
            for (int i = 0; i < str.toCharArray().length; i++) {
                x = str.charAt(i);
                //do your struff
                System.out.println(x);
            }
        });

    }
}

Java8 的流方法将处理列表,您可以使用 toCharArray 将字符串转换为字符数组以处理每个字符。

你可以这样试试,

List<String> arrayList = new ArrayList();

arrayList.add("strings1");
arrayList.add("strings2");

for(int i = 0;i < arrayList.size();i++){
    for(int x = 0;x <arrayList.get(i).length();x++){
          //stuff
    }
}

尝试使用 For Each 循环,这样:

int sumLength = 0;
ArrayList<String> r = new ArrayList<String>();
for(String s : r)
{
 sumLength += s.length();
}
return sumLength;

这将为您提供 ArrayList 中所有长度的总和

你所有的逻辑都是正确的,但是语法有错误, 您使用 Class 名称而不是对象引用, 即,将 ArrayList 更改为代码中的 ArrayList 引用变量。

(ArrayList.size() 到 list.size())

改变

for(int i = 0;i < ArrayList.size();i++){
    for(int x = 0;x <ArrayList.get(i).length();x++){
        //stuff
    }
}

ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("mango");
list.add("orange");
for(int i = 0;i < list.size();i++){
        for(int x = 0;x <list.get(i).length();x++){
            //stuff
        }
}