Суммировать все элементы java arraylist

Если бы у меня было: ArrayList<Double> m = new ArrayList<Double>(); с двойными значениями внутри, как мне сделать, чтобы добавить все элементы ArrayList?

public double incassoMargherita()
{
 double sum = 0;
 for(int i = 0; i < m.size(); i++)
 {          
 }
 return sum;
}

а?

Ответ 1

Два пути:

Используйте индексы:

double sum = 0;
for(int i = 0; i < m.size(); i++)
    sum += m.get(i);
return sum;

Используйте стиль "для каждого":

double sum = 0;
for(Double d : m)
    sum += d;
return sum;

Ответ 2

Я не тестировал его, но он должен работать.

public double incassoMargherita()
{
    double sum = 0;
    for(int i = 0; i < m.size(); i++)
    {
        sum = sum + m.get(i);
    }
    return sum;
}

Ответ 3

Использование потоков Java 8:

double sum = m.stream()
    .mapToDouble(a -> a)
    .sum();

System.out.println(sum); 

Ответ 4

Не очень сложно, просто используйте m.get(i), чтобы получить значение из списка.

public double incassoMargherita()
{
    double sum = 0;
    for(int i = 0; i < m.size(); i++)
    {
        sum += m.get(i);
    }
    return sum;
}