Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как вытащить из списка количество записей имеющих


Автор: bulat01 21.10.2011, 09:32
Здравствуйте все,
Посоветуйте,

Как вытащить из списка количество записей имеющих определенное значение?

Например,

Код

List<String> list1 = new ArrayList<String>();

list1 имеет стринговые значения,
----------------------------------------------------------------------------------------------------------
true,
true,
false
true
true
false

-----------------------------------------------------------------------------------------------------------
Вытащить количество записей имеющие TRUE
Вытащить количество записей имеющие FALSE

-----------------------------------------------------------------------------------------------------------
А также интересно, как можно реализовать такую же логику на уровне массива?

С уважением!




Автор: Nofate 21.10.2011, 09:40
Код

int trueCount = 0;
int falseCount = 0;

for (String s: list1) {
  if ("true".equals(s)) {
    trueCount++;
  } else if ("false".equals(s)) {
    falseCount++;
  }
}



Для массива все то же самое.

Автор: math64 21.10.2011, 09:45
Только перебором. Если бы массив/список был отсортирован, можно было бы использовать поиск, а затем подсчёт одинаковых элементов, начиная от найденного.
Проводить сортировку имеет смысл, если нужно делать несколько подсчётов для разных значений, если значения только "true"/"false" это не имеет смысла, поскольку
int falseCount = list.size() - trueCount;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)