У меня есть структура данных, для которой я сейчас использую ArrayList
.Я понял, что в этой структуре я не хочу, чтобы присутствовали дубликаты.Моей первой мыслью было использование некоторой формы набора, однако порядок также важен.После небольшого поиска в Google Collections docs я нашел LinkedHashSet
, который почти выполняет свою работу.К сожалению, одна из основных причин сохранения порядка заключается в том, что я использую метод get(int index)
ArrayList для произвольного доступа, и я не вижу никакого способа обойти это.
Более кратко - мне нуженнабор, который сохраняет порядок и разрешает произвольный доступ.Ни один из классов, на которые я до сих пор смотрел, не предоставляет такую функциональность.Кто-нибудь знает класс, который предлагает это, или я должен буду сделать это сам?Если это последний случай, есть ли какие-либо подводные камни при создании такой структуры, о которой люди знают?
(В качестве альтернативы, будет достаточно быстрого и простого способа поиска и удаления дубликатов из ArrayList или аналогичной структуры)
РЕДАКТИРОВАТЬ: для ясности важен порядок добавления элементов в список, а не их сравнение друг с другом