Как решить, какую коллекцию следует использовать из списка?

java

86 просмотра

1 ответ

Я хочу знать, когда использовать Set и List. На каком основании это должно быть решено. Например, когда мы имеем дело с заявкой на заказ, при этом что мне следует использовать? List any = new ArrayList <> (); или установите любой = новый HashSet (); или LinkedList.

Автор: Rakesh P. Источник Размещён: 08.11.2019 11:21

Ответы (1)


2 плюса

Все зависит от ваших текущих требований

например, рассмотрим некоторые важные моменты о

  1. Если вы хотите получить доступ к элементам так же, как вы их вставляете, вам следует использовать, Listпотому что Listэто упорядоченная коллекция элементов. Вы можете получить к ним доступ, используя get(int index)метод, тогда как такой метод не доступен для Set. Порядок, в котором они будут храниться, не гарантируется.

  2. Если ваши элементы содержат дубликаты, то используйте, Listпотому Setчто не допускает дублирования, тогда как, если ваши элементы уникальны, вы можете использовать Set.

  3. Насколько LinkedListи ArrayListсчитаются:

    • LinkedListмедленные, потому что они разрешают только последовательный доступ. Но они хороши, если размер ваших элементов регулярно меняется, тогда как, если размер ваших элементов фиксированный, то вам следует использовать его, ArrayListпоскольку он обеспечивает быстрый доступ для произвольного чтения, так что вы можете захватить любой элемент за постоянное время.
    • Однако, ArrayListэто не хорошо, когда вам требуются большие операции удаления, потому что добавление или удаление из любого места, но конец требует смещения всех последних элементов.
    • ArrayListне считаются хорошими, когда вам нужно вставить что-то посередине, потому что если вы хотите вставить новый элемент посередине (и держать все элементы в том же порядке), то вам придется сдвинуть все после того места, где элемент был вставлен, тогда как такая операция в LinkedListтребует только изменения некоторых ссылок.

Взгляните на особенности нескольких структур данных и, в соответствии с вашими требованиями, вы можете решить, где и какую структуру данных использовать.

также смотрите:
- Когда использовать LinkedList поверх ArrayList?
- В чем разница между Set и List?
- Какую коллекцию Java следует использовать?
- Вставка в середине ArrayList против LinkedList

Автор: Raman Sahasi Размещён: 20.08.2016 01:42
Вопросы из категории :
32x32