2016-03-21 2 views
0

Я хочу подсчитать некоторые элементы в массиве ArrayList, которые содержат определенное число.Подсчитать некоторые элементы в ArrayList

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

Проблема с кодом в том, что он учитывается только один раз, я хочу, чтобы он подсчитывал все элементы с 50 в них. В моем ArrayList есть 4 элемента с 50 в них. Поэтому я хочу, чтобы счет возвращался 4. Как я могу это сделать?

+0

Ваш код, кажется, хорошо. вы уверены, что у вас есть более одного элемента, в котором есть 50? – mendez7

+0

вы можете попробовать распечатать a.getEverything внутри цикла и проверить, есть ли у него 50 в нем или нет – denis

ответ

0

Ваш код кажется прекрасным. Предположим, если у вас есть ArrayList<Integer>, вместо зацикливания элементы, которые вы также можете использовать Collections для подсчета вхождений:

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

попробовать это:

count = Collections.frequency(a,50); 
Смежные вопросы