Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取ArrayList中所有字符串的总长度<;字符串>;?_Java_String_Arraylist - Fatal编程技术网

Java 如何获取ArrayList中所有字符串的总长度<;字符串>;?

Java 如何获取ArrayList中所有字符串的总长度<;字符串>;?,java,string,arraylist,Java,String,Arraylist,如果我用一个例子来回答这个问题,很容易理解: ArrayList<String> array; String str = toString(array); String toString(ArrayList<String> array) { StringBuilder sb = new StringBuilder(); for( String string : array ) { sb.append(string); }

如果我用一个例子来回答这个问题,很容易理解:

ArrayList<String> array;
String str = toString(array);

String toString(ArrayList<String> array) {
    StringBuilder sb = new StringBuilder();
    for( String string : array ) {
        sb.append(string);
    }
    return sb.toString();
}
ArrayList数组;
字符串str=toString(数组);
字符串到字符串(ArrayList数组){
StringBuilder sb=新的StringBuilder();
for(字符串:数组){
某人附加(字符串);
}
使某人返回字符串();
}
问题是:
如何在不将
数组显式转换为字符串的情况下有效地获取
str
的长度?

您可以迭代
数组列表
并添加每个元素的长度

添加递归变量只是为了好玩

int length = 0;
for (String str : array) {
    length += str.length();
}
public static int length(List<String> list) {
    if (list.size() == 0) {
        return 0;
    }
    return list.get(0).length() + length(list.subList(1, list.size()));
}
公共静态整数长度(列表){
if(list.size()==0){
返回0;
}
返回list.get(0.length()+length(list.subList(1,list.size());
}
可能不是最有效的方法。

int length=array.stream().mapToInt(String::length.sum();
哈哈哈,每个字符都和我的答案一样!你们比我快!
public static int length(List<String> list) {
    if (list.size() == 0) {
        return 0;
    }
    return list.get(0).length() + length(list.subList(1, list.size()));
}