2016-03-21 14 views
0

Ich möchte bestimmte Elemente in einer ArrayList zählen, die eine bestimmte Zahl enthalten.Bestimmte Elemente in ArrayList zählen

int count = 0; 
for (ArrayList a: ArrayLists) { 
    if (a.getEverything == 50) { 
     count++; 
    } 
    System.out.println("There are " + count + " people with with this age"); 

Problem mit dem Code ist, dass es nur einmal zählt, will ich es alle Elemente mit 50 in sie zählen. In meiner ArrayList gibt es 4 Elemente mit 50 in ihnen. Also möchte ich zurückzahlen 4. Wie kann ich das machen?

+0

Ihr Code in Ordnung zu sein scheint. Sind Sie sicher, dass Sie mehr als ein Element mit 50 Elementen haben? – mendez7

+0

können Sie versuchen, a.getEverything in for Schleife zu drucken und zu überprüfen, ob es 50 darin enthält oder nicht – denis

Antwort

0

Ihr Code scheint in Ordnung zu sein. Nehmen wir an, wenn Sie ArrayList<Integer> haben, sondern die Elemente Looping Sie auch nutzen Collections machen können, um die Vorkommen zu zählen:

ArrayList<Integer> arList = new ArrayList<Integer>(); 
arList.add(50); 
arList.add(50); 
arList.add(50); 
arList.add(4); 
arList.add(4); 
System.out.println("No. of occurences of 50: "+Collections.frequency(arList, 50)); 
System.out.println("No. of occurences of 4: "+Collections.frequency(arList, 4)); 
0

try this:

count = Collections.frequency(a,50);