Список Java:
Если у вас нет такого требования, что вы должны хранить дубликаты или нет. Тогда вы можете использовать список вместо Set.
Список - это интерфейс в среде Collection. Что расширяет интерфейс коллекции. и ArrayList, LinkedList является реализацией интерфейса List.
Когда использовать ArrayList или LinkedList
ArrayList: Если у вас есть такое требование, чтобы в вашем приложении в основном работали с данными. Тогда вы должны пойти на ArrayList. потому что ArrayList реализует интерфейс RtandomAccess, который является интерфейсом маркера. Из-за интерфейса Marker ArrayList имеет возможность доступа к данным за O (1) раз. и вы можете использовать ArrayList поверх LinkedList, где вы хотите получать данные в соответствии с порядком вставки.
LinkedList: Если у вас есть такое требование, что вашей основной работой является вставка или удаление. Тогда вы должны использовать LinkedList поверх ArrayList. потому что в LinkedList вставка и удаление происходят за время O (1), тогда как в ArrayList это время O (n).
Java Set:
Если в вашем заявлении есть требование, что вам не нужны дубликаты. Тогда вам следует перейти на Set вместо List. Потому что Set не хранит дубликаты. Потому что Сет работает по принципу Хеширования. Если мы добавим объект в Set, то сначала он проверяет hashCode объекта в корзине, если он находит любой hashCode, присутствующий в нем, тогда он не будет добавлять этот объект.