Разница между списком и набором

Оглавление:

Разница между списком и набором
Разница между списком и набором

Видео: Разница между списком и набором

Видео: Разница между списком и набором
Видео: В чем разница между списком, словарем и набором в Python? 2024, Июнь
Anonim

Ключевая разница - список и набор

Большинство языков программирования используют массивы для хранения набора данных одного типа. Одним из основных недостатков массивов является то, что после объявления размера массива его нельзя изменить. Если программист хочет сохранить значения, превышающие размер массива, он должен создать новый массив и скопировать существующие элементы в новый массив. В таких ситуациях можно использовать коллекции. Возможно добавление элементов, удаление элементов и многие другие операции с поддержкой коллекций. В языках программирования, таких как Java, доступны различные типы коллекций. List и Set - это интерфейсы иерархии коллекций. Базовым интерфейсом для других интерфейсов является Коллекция. Ключевое различие между List и Set заключается в том, что List поддерживает сохранение одного и того же элемента несколько раз, а Set не поддерживает многократное сохранение одного и того же элемента. Следовательно, набор не допускает дублирования.

Что такое Список?

Список - это интерфейс, расширяющий интерфейс Коллекции. В интерфейсе Collection есть несколько методов. Метод add помогает добавить элемент. «Метод удаления» заключается в удалении элемента. Существует метод addAll для добавления нескольких элементов и метод removeAll для удаления элементов из коллекции. Метод contains помогает определить, присутствует ли конкретный объект в списке или нет. «ContainsAll» должен определить, присутствует ли набор объектов в коллекции. Метод итератора используется для перебора элементов списка. Поскольку List расширяет Collection, все методы Collection принадлежат List. Помимо этих методов, в списке есть такие методы, как get и set. Программист может получить значение по определенному индексу, используя метод get. Программист может установить значение по определенному индексу, используя метод set. indexOf используется для поиска индекса элемента.

В списке операции могут выполняться в соответствии с позицией. Программист может указать элемент данных, который необходимо добавить в индекс. Таким образом, он будет добавлен в конкретный индекс. Если программист не указывает индекс, элемент будет добавлен в конец списка. Он также поддерживает вставленный порядок. Если добавляется элемент 1, а затем добавляется элемент2, то элемент1 будет перед элементом2.

Разница между списком и набором
Разница между списком и набором

Рисунок 01: Список и установка

ArrayList, LinkedList, Vector - это некоторые классы, реализующие список. В ArrayList доступ к элементу выполняется быстро, а вставка и удаление - ниже. ArrayList не является потокобезопасным. Доступ к одному и тому же ArrayList из нескольких потоков может привести к разным результатам. В LinkedList элементы связаны как назад, так и вперед. Вставка и удаление элементов с помощью LinkedList выполняется быстрее, чем с помощью ArrayList. LinkedList реализует и список, и очередь. Vector похож на ArrayList, но он безопасен, потому что все методы синхронизированы.

Что установлено?

Set - это интерфейс, расширяющий интерфейс Collection. Поскольку интерфейс Set расширяет коллекцию, все методы коллекции также принадлежат набору. Набор не поддерживает повторяющиеся значения. Поэтому программист не может сохранить один и тот же элемент дважды. Он поддерживает уникальный набор элементов. Интерфейс SortedSet расширяет интерфейс Set. SortedSet сохраняет элементы в отсортированном порядке. Интерфейс NavigableSet расширяет SortedSet. NavigableSet предоставляет методы навигации, такие как нижний, этаж, потолок и т. д.

HashSet, LinkedHashSet и TreeSet - это некоторые классы, реализующие интерфейс Set. HashSet реализует интерфейс Set. Он не поддерживает вставленный порядок. Если значения вставлены как a, x, b, они могут храниться как, x, a, b. LinkedSet поддерживает вставленный заказ. Если элементы вставлены в порядке a, x, b, порядок хранения будет таким: a, x, b. TreeSet реализует Set и NavigableSet. Он не сохраняет порядок вставки, а сохраняет элементы в отсортированном порядке. Если вставлен порядок a, c, b, то элементы будут сохранены как a, b, c. Все HashSet, LinkedHashSet и TreeSet не будут иметь повторяющихся элементов.

Каковы сходства между списком и набором?

  • Оба интерфейса List и Set расширяют интерфейс Collection.
  • И List, и Set поддерживают такие операции, как добавление и удаление элементов.

В чем разница между списком и набором?

Список против набора

List Interface - это подинтерфейс Collection, который содержит методы для выполнения таких операций, как вставка и удаление на основе индекса. Set Interface - это вспомогательный интерфейс Collection, который содержит методы для выполнения таких операций, как вставка, удаление элементов с сохранением уникальных элементов.
Классы
ArrayList, Vector и LinkedList - это классы, реализующие интерфейс List. HashSet, LinkedHashSet и TreeSet - это классы, реализующие интерфейс Set.
Дублирование элемента
Список поддерживает дублирование элементов. Set не поддерживает дублирование элементов. Элементы уникальны.

Сводка – список и набор

Коллекции используются для динамического хранения элементов. Языки программирования, такие как Java, предоставляют интерфейс коллекции. List и Set - это два интерфейса, принадлежащие интерфейсу Collection. Оба интерфейса расширяют Collection. В этой статье обсуждалась разница между List и Set. Ключевое различие между List и Set заключается в том, что List поддерживает сохранение одного и того же элемента несколько раз, а Set не поддерживает многократное сохранение одного и того же элемента. Set всегда поддерживает уникальные элементы.

Рекомендуемые: