ArrayList字符串长度的总和

时间:2015-03-02 04:15:52

标签: java arraylist

如果我有ArrayList个单词,例如:

{"Java" "Apple" "Orange" "New" "Dog" "Cat"} 

我想计算4 + 5 + 6 + 3 + 3 + 3作为ArrayList中每个字符串的长度加上单词之间的5个空格的总和。我该怎么做?

6 个答案:

答案 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);
    }
}