@infoguides

Как посчитать количество уникальных элементов массива?

Простой вроде бы вопрос, как посчитать количество уникальных элементов в массиве int[] N

например

int[] N = {1,2,3,4,5,6,7,6,8,9,1,2,3}

Первое, что приходит в голову, создать второй массив key=>value где key = это value из первого массива а value = это количество элементов в входящем массиве.

Грубо говоря на РНР это было бы так

foreach($N as $k=> $v) {
  if (isset($newArray[$v])) {
    $newArray[$v] = $newArray[$v] + 1;
  } else {
    $newArray[$v] = 1;
  }
}
  • Вопрос задан
  • 1569 просмотров
Решения вопроса 1
al_gon
@al_gon
int[] N = {1, 2, 3, 4, 5, 6, 7, 6, 8, 9, 1, 2, 3};
  Integer[] wrappedN = Arrays.stream(N)
                .boxed()
                .toArray(Integer[]::new);
  Set<Integer> resultSet = new HashSet<Integer>(Arrays.asList(wrappedN));
  System.out.println(resultSet.size());


System.out.println(Arrays.stream(N).boxed().collect(Collectors.toSet()).size());
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы