2013-04-26 11 views
11

私は:ArrayList<Double> m = new ArrayList<Double>(); の二重値を内部に持つ場合、どのようにすべてのArrayList要素を追加する必要がありますか?すべての要素を合計しますjava arraylist

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

as?

+7

どのように '合計+ = m.get(I)について:

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

スタイル "それぞれの" を使用します'? – dasblinkenlight

+4

ヒント:指定された位置でリストから値を取得するには、 'm.get(indexOfPosition)'を使用できます。 – Pshemo

+3

また、foreachループを作成し、foreach内の各要素に合計を追加します。 – Makoto

答えて

32

二つの方法:

使用インデックス:

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

または使用:JAVA 8 int sum = list.stream()。mapToInt(Integer :: intValue).sum(); –

+0

@AnandVarkeyPhilipsは、ハエを殺すために核を使うようなものです:P – Barranka

+0

なぜそれはと思いますか?パフォーマンスの低下を引き起こしますか?より少なくてクリーンなコード、私は望んでいた! –

4

非常に難しくありません。リストから値を取得するには、m.get(i)を使用してください。

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

私はそれをテストしていませんが動作するはずです。

public double incassoMargherita() 
{ 
    double sum = 0; 
    for(int i = 0; i < m.size(); i++) 
    { 
     sum = sum + m.get(i); 
    } 
    return sum; 
} 
関連する問題