Как в Java можно быстро подсчитать, сколько раз заданное значение представлено в ArrayList?JAVA

Программисты JAVA общаются здесь
Anonymous
Как в Java можно быстро подсчитать, сколько раз заданное значение представлено в ArrayList?

Сообщение Anonymous »

Код: Выделить всё

ArrayList myArrayList = new ArrayList;
for (int i = 0; i < 5; i++) {myArrayList.add(i);}
myArrayList.add(2);
myArrayList.add(2);
myArrayList.add(3);

//arryalist contains: (0,1,2,3,4,2,2,3)
Я хочу передать входные данные методу и чтобы он возвращал количество раз, когда входные данные наблюдались в массиве. Например:

Код: Выделить всё

public int someMethod(int searchVal) {
//code
//returns int
}

System.out.println(someMethod(2));
//prints 3
Я могу придумать что-то вроде:

Код: Выделить всё

public int someMethod(int searchVal) {
int counter = 0;
for (int i : myArraylist) {
if (i == searchVal) {counter +=1;}
}
return counter; }
}
Но список массивов, для которого мне нужен этот метод, очень длинный, и я собираюсь использовать его несколько раз для каждого из возможных значений в ArrayList. Значение т.е. someMethod(0), someMethod(1), someMethod(2), someMethod(3), someMethod(4).
В примере у меня есть int, но я буду использовать ArrayList. В форме: ArrayList> myArrayList = ((1,2) , (2,1), (1,2), (3,0)...) Таким образом, .sort() не будет работать.
  • Есть ли более быстрый способ подсчитать, сколько раз отдельное значение присутствует в ArrayList?
  • Поскольку я Я собираюсь использовать это для всех значений, есть ли более быстрый способ сделать это, чем метод, сравнивающий каждое значение?


Подробнее здесь: https://stackoverflow.com/questions/788 ... resented-i

Вернуться в «JAVA»