2013-04-26 11 views
11

यदि मेरे पास: ArrayList<Double> m = new ArrayList<Double>(); अंदर डबल मानों के साथ, सभी ArrayList तत्वों को जोड़ने के लिए मुझे कैसे करना चाहिए?सभी तत्वों को जावा सरणी सूची

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

के रूप में?

+7

कैसे + = m.get 'योग के बारे में (i) '? – dasblinkenlight

+4

संकेत: निर्दिष्ट स्थिति पर सूची से मूल्य प्राप्त करने के लिए आप 'm.get (indexOfPosition)' का उपयोग कर सकते हैं। – Pshemo

+3

वैकल्पिक रूप से, एक foreach पाश बनाएँ और foreach में प्रत्येक तत्व को योग जोड़ें। – Makoto

उत्तर

32

दो तरीके:

उपयोग अनुक्रमित:

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

का प्रयोग करें शैली "प्रत्येक के लिए":

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

या उपयोग करें: जावा 8 int sum = list.stream()। MapToInt (Integer :: intValue) .sum(); –

+0

@AnandVarkey फिलिप्स जो एक मक्खी को मारने के लिए एक नूक का उपयोग करने जैसा है: पी – 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; 
} 
संबंधित मुद्दे