查找 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
}
}
对于一个程序,我试图按照以下方式重复嵌套的 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
}
}