Когда/где будет использовать (хэшсет + список) над LinkedHashset для уникальной и упорядоченной коллекции объектов?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Когда/где будет использовать (хэшсет + список) над LinkedHashset для уникальной и упорядоченной коллекции объектов?

Сообщение Anonymous »

Итак, моя проблема проста - поддерживать упорядоченный набор входов, которые не позволяют дубликатам. Вот пример, показывающий обе реализации: < /p>

Код: Выделить всё

class TestClass{
private final Set setOfThingIds;
private final List listOfThings;
private final Set linkedHashSetOfThings;

// ... constructor instantiates empty objects

void addThingsViaList(List things){
for(var thing: things){
var id = getThingId(thing);
if(setOfThingIds.contains(id)) continue;
setOfThingIds.add(id);
listOfThings.add(thing);
}
}

void addThingsViaSet(List things){
for(var thing: things){
linkedHashSetOfThings.add(thing); // thingId calc added to Thing's equals method
}
}
}

Вопрос: когда мы хотим рассмотреть первый метод во втором? Вещь как поле и лениво вызывается от equals () ) ... есть ли другие? Особенно те, которые не являются микрооптимизациями?


Подробнее здесь: https://stackoverflow.com/questions/797 ... e-and-orde
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»