Я хочу знать, когда использовать Set и List.On, на основе которого это нужно решить. Например, когда мы имеем дело с приложением заказа, на этом что я должен использовать? Список any = new ArrayList <>(); или Установите any = new HashSet(); или LinkedList.Как определить, какая коллекция должна использоваться из списка?
ответ
Все зависит от ваших текущих требований
к примеру, рассмотрим некоторые важные моменты, о
Если вы хотите получить доступ к элементам таким же образом вы их вставляете, то вы должны используйте
List
, потому чтоList
- это упорядоченная коллекция элементов. Вы можете получить к ним доступ с использованием методаget(int index)
, тогда как такой метод недоступен дляSet
. Порядок, в котором они будут храниться, не гарантируется.Если элементы содержат дубликаты, а затем использовать
List
, потому чтоSet
не допускают дубликаты, тогда как, если ваши элементы являются уникальными, то вы можете использоватьSet
.Насколько
LinkedList
иArrayList
считаются:LinkedList
медленно, потому что они допускают только последовательный доступ. Но они хороши, если размер ваших элементов регулярно изменяется, тогда как если размер ваших элементов фиксирован, то вы должны использоватьArrayList
, потому что они позволяют быстрый случайный доступ к чтению, поэтому вы можете захватывать любой элемент в постоянное время.- Однако
ArrayList
не подходят, если вам требуются большие операции удаления, поскольку добавление или удаление из любого места, кроме конца, требует смещения всех последних элементов. ArrayList
не считаются хорошими, когда вам нужно вставлять что-либо посередине, потому что если вы хотите вставить новый элемент посередине (и сохранить все элементы в одном порядке), тогда вам придется сдвигать все после это место, где был вставлен элемент, тогда как такая операция вLinkedList
требует только замены некоторых ссылок.
Посмотрите на особенности нескольких структур данных, и в соответствии с вашими требованиями, вы можете решить, где вы должны использовать какую структуру данных.
также смотрите:
- When to use LinkedList over ArrayList?
- What is the difference between Set and List?
- What Java Collection should I use?
- Insertion in the middle of ArrayList vs LinkedList
- 1. , какая кодировка должна использоваться
- 2. Какая игровая платформа должна использоваться?
- 3. Если XSD не указывает явно, какая кодировка должна использоваться, то какая кодировка должна использоваться по умолчанию?
- 4. Какая формула должна использоваться в файле excel
- 5. Какая реализация jsr-275 должна использоваться?
- 6. Какая обработка ошибок должна использоваться в VB.NET
- 7. Какая 4.x версия gcc должна использоваться?
- 8. Как определить, какая должна быть функция
- 9. Как определить, какая версия «Oracle.DataAccess.dll» должна включать
- 10. Какая лучшая переменная должна использоваться в операции сервлета
- 11. Как я могу установить, какая кодировка должна использоваться сайтом?
- 12. Как программно определить, а ленивая коллекция должна быть загружена?
- 13. Какая база данных должна использоваться для массового обновления
- 14. Какая база данных должна использоваться для образовательных приложений Android?
- 15. , какая коллекция должна быть эффективной для этой проблемы
- 16. , какая система управления содержимым должна использоваться, если таковая имеется
- 17. Какая версия для паузы должна использоваться, для которой версия куберната
- 18. Какая техника компьютерного зрения должна использоваться для обнаружения дорожной неравномерности?
- 19. Какая база данных должна использоваться с Django и Python 3?
- 20. Какая версия должна использоваться для соединителя Spark Cassandra.?
- 21. Какая база данных должна использоваться для статистики/данных отчета?
- 22. Как определить, какая часть кода Java должна быть синхронизирована?
- 23. Какая должна быть «модель»?
- 24. Какая коллекция java позволяет дублировать ключи
- 25. Какая функция карри должна работать?
- 26. C# Data Structures Question (Какая коллекция использовать?)
- 27. Как определить, что коллекция пуста
- 28. Какая анимация будет использоваться
- 29. Какая коллекция хранит древовидную структуру?
- 30. Определить, какая ориентация растрового изображения, взятого с камеры, должна быть
немало вопросов вокруг сделки с этим. Посмотрите, например. http://stackoverflow.com/questions/1035008/what-is-the-difference-between-set-and-list, http://stackoverflow.com/questions/322715/when-to-use-linkedlist-over -arraylist – lrnzcig
http://stackoverflow.com/a/21974362/1545775 –