2017-02-16 1 views
-2

Сбор дан как - [10,11,5,6,10,11,10,11,10,5]
Ответ должен содержать только последний элемент (если элемент повторяется)
Ответ - [5,10 , 6,11]
здесь элемент (5) повторяются 2 раза, чтобы ответ должен содержать второй 5
аналогичного элемента (10) повторяются 4 раза, чтобы ответ должен содержать 4-ый 10
элемент (11) повторяются 3 раза, так ответ должен содержать 3-е 11
Примечание: здесь количество повторений элемента не имеет значения.Лучший способ сохранить последний дубликат Вход в коллекцию?

+0

Возможный дубликат [Как сохранить уникальный список в Java?] (Http://stackoverflow.com/questions/13259535/how-to-maintain-a-unique-list-in-java) – px06

+0

Этот вопрос имеет был задан миллионы раз, и если вы указали google, то первая ссылка, которая появляется, - это документация к [Установить] (https://docs.oracle.com/javase/7/docs/api/java/util/Set.html) , Пожалуйста, исследуйте перед публикацией вопросов. – px06

+0

Но Set будет вставлять 1-й элемент, после чего, если дубликаты приходят, он не будет добавлен, вот мой вопрос: мне нужно сохранить последнюю запись не 1-й –

ответ

1

Вам необходимо отсортировать список по количеству повторений. Как упоминалось в комментариях @ px06, вы можете использовать набор для уникальных и отсортированных значений. Но это не даст вам результата на основе количества повторений.

Collections.frequency(List, value); 

даст частоту значений в списке. Вам нужно перебрать список, а затем поместить результат в новую коллекцию.

Смежные вопросы