如果我使用这个问题的例子,理解起来非常简单:
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();
}
问题是:
如何在不明确将str
转换为字符串的情况下有效获得array
的长度?
答案 0 :(得分:12)
int length = 0;
for(String str : array){
length += str.length();
}
答案 1 :(得分:11)
int length = 0;
for (String str : array) {
length += str.length();
}
答案 2 :(得分:3)
您可以遍历ArrayList<String>
并添加每个元素的长度
答案 3 :(得分:1)
添加递归变体只是为了好玩......
public static int length(List<String> list) {
if (list.size() == 0) {
return 0;
}
return list.get(0).length() + length(list.subList(1, list.size()));
}
也许不是最有效的方式。
答案 4 :(得分:0)
int length = array.stream().mapToInt(String::length).sum();