如果我有ArrayList
个单词,例如:
{"Java" "Apple" "Orange" "New" "Dog" "Cat"}
我想计算4 + 5 + 6 + 3 + 3 + 3作为ArrayList
中每个字符串的长度加上单词之间的5个空格的总和。我该怎么做?
答案 0 :(得分:2)
使用流的Java 8版本:
List<String> words = new ArrayList<>();
words.add("Java");
words.add("Apple");
words.add("Orange");
words.add("New");
words.add("Dog");
words.add("Cat");
//the actual code
int sum = words
.stream()
.mapToInt(w -> w.length())
.sum();
System.out.println("sum with space=" + (sum + (words.size() - 1)));
答案 1 :(得分:1)
如下所示的简单方法应该完成这项工作 -
public int getLength (List<String> list) {
int length = 0;
for(String str : list) {
length = length + str.length();
}
length = length + list.size() - 1;
return length;
}
答案 2 :(得分:1)
使用Java8,您可以使用String.join
:
String str= String.join(" ", list);
int expectedLength=str.length();
答案 3 :(得分:0)
循环遍历ArrayList。
将每个元素的长度添加到某个变量中。
将ArrayList - 1的大小添加到同一个变量中。
完成。
如果您不想自己编写自己的代码,只需从此处的部分答案中复制实现。
答案 4 :(得分:0)
您可以使用以下代码来实现此目的:
ArrayList<String> words = {"Java", "Apple", "Orange", "New", "Dog", "Cat"}; //assume u can init array list with these words...
int count = 0;
for (String word : words) {
count += word.length();
}
//add spaces:
count += words.size() - 1;
System.out.println("The strings in ArrayList - words have a count of " + count);
答案 5 :(得分:0)
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("Java");
arrayList.add("Apple");
arrayList.add("Orange");
arrayList.add("New");
arrayList.add("Dog");
arrayList.add("Cat");
int sum = 0;
for (String name : arrayList) {
sum = sum + name.length();
}
System.out.println(sum);
sum = sum + arrayList.size() - 1;
System.out.println(sum);
}
}