LinkedHashSet или ArrayList

Я хочу

  1. Избегать вставки дублирующегося элемента.
  2. Когда я перебираю класс коллекции, возвращаемый элемент совпадает с порядком вставки .

Могу ли я узнать, что мне следует рассмотреть, выбрать либо ArrayList (явно выполнить проверку содержит перед вставкой), либо LinkedHashSet?

Спасибо.

17
задан Rachel 10 October 2012 в 12:52
поделиться

3 ответа

Обязательно используйте LinkedHashSet. Он создан для того, что вам нужно. Поиск по всему списку ArrayList каждый раз, когда вам нужно что-то вставить, снижает производительность (O (n) каждый раз))

22
ответ дан 30 November 2019 в 12:26
поделиться

LinkedHashSet , кажется, полностью отвечает всем требованиям.

Когда вы создаете свои собственные объекты и планируете использовать их в Коллекции, например LinkedHashSet здесь. Не забудьте переопределить как равный , так и хэш-код для элемента, который вы собираетесь в нем хранить.

2
ответ дан 30 November 2019 в 12:26
поделиться

Используйте LinkedHashSet , если вы не хотите вставлять повторяющиеся элементы.

5
ответ дан 30 November 2019 в 12:26
поделиться
Другие вопросы по тегам:

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