2013-04-26 71 views
11

Se avessi: ArrayList<Double> m = new ArrayList<Double>(); con i doppi valori all'interno, come dovrei fare per sommare tutti gli elementi di ArrayList?Somma tutti gli elementi java arraylist

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

come?

+7

Come su 'sum + = m.get (i) '? – dasblinkenlight

+4

Suggerimento: per ottenere il valore dall'elenco nella posizione specificata è possibile utilizzare 'm.get (indexOfPosition)'. – Pshemo

+3

In alternativa, creare un ciclo foreach e aggiungere la somma a ciascun elemento nel foreach. – Makoto

risposta

32

due modi:

utilizzare gli indici:

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

utilizzare il "per ogni" stile:

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

o Utilizzo: JAVA 8 int sum = list.stream(). MapToInt (Integer :: intValue) .sum(); –

+0

@AnandVarkeyPhilips che è come usare una bomba atomica per uccidere una mosca: P – Barranka

+0

Perché pensi che sia ?? Causa Degrado delle prestazioni ?? Less and Clean Code, speravo! –

4

Non molto difficile, basta usare m.get(i) per ottenere il valore dall'elenco.

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

Non l'ho provato ma dovrebbe funzionare.

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