Мне нужна коллекция, которая сохраняет порядок вставки и имеет уникальные значения. LinkedHashSet выглядит как способ, но есть одна проблема — когда два элемента равны, он удаляет самый новый (что имеет смысл), вот пример:
set.add("one");
set.add("two");
set.add("three");
set.add("two");
LinkedHashSet
напечатает:
one
,two
,three
Но мне нужно:
one
,three
,two
Что было бы лучшим решением здесь? Есть ли какой-либо метод сбора/коллекции, который может это сделать, или я должен реализовать его вручную?
ArrayList
и использования методаcontains
перед вставкой? - person ortis   schedule 04.04.2016HashSet
. - person Mena   schedule 04.04.2016TreeSet
сохраняет элементы, отсортированные в соответствии с естественным или заданным порядком, сам по себе порядок вставки не сохраняется. - person Mena   schedule 04.04.2016LinkedHashSet
неfinal
, но у вас не будет доступа к резервной карте, используемой для хранения/извлечения элементов. - person Mena   schedule 04.04.2016one, three, two
, а вам нужноone, two, three
. Потерпеть неудачу. - person bcsb1001   schedule 04.04.2016