В этом случае, мне нужно сохранить группу элементов в коллекции x
. Я не хочу вставлять элемент в x
, если он уже существует (без дубликатов). Мне также не нужен порядок вставки. Размер x
сильно различается (может быть очень маленьким на < 10 предметов или до десяти тысяч).Какую коллекцию я должен использовать в этом случае?
Хотя никакие дубликаты и никакие пункты заказа не используют Set
, мне нужно быстро и быстро выполнять все пункты после того, как я построил x
и выполнить операции, используя их (но не меняя их). Будет ли Set
по-прежнему лучшим вариантом?
Я был бы признателен за любое направление - стоит ли дороже проверить, содержит ли List
элемент перед каждой вставкой (во избежание дублирования) или для перебора членов Set
? Любые советы по передовым методам/эффективности и стоимости будут действительно оценены, спасибо.
операции поиска будет 'O (п)' в 'list' и' O (1) 'в' Map'. Если вас не интересуют порядок элементов и не хотят дубликатов, вы должны пойти на 'Set'. Итерация над 'Set' не должна быть проблемой, и вы можете сделать это, используя« Iterator »или расширенные циклы for. – user2004685
Я также проголосую за 'Set' и не думаю о производительности, если вы не ** ** доказали **, это проблема в вашем приложении. –