Найти количество разных чисел в массиве
Имеется:
Map<String, ?> allEntries = sPrefFavorites.getAll();
private List<Integer> listOfCategory= new ArrayList<>();
Как через
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
String[] splited = entry.getValue().toString().trim().split("-");
listOfCategory.add(Integer.parseInt(splited[1]));
}
Подсчитать количество разных splited[1]?
(entry вида 54-21-1, 54-10-15, 54-3-5). split нужен для поиска различий в записях по второму числу. List создал как вариант. Если есть другой вариант и он лучше - то вообще здорово.
Для примера в скобках выше, правильное количество должно быть равно 3 (21, 10 и 3 - разные числа).
Для примера 54-2-1, 54-3-5, 54-2-9, 54-3-8 - правильный ответ 2 (2 и 3 - разные числа).
Источник: Stack Overflow на русском