Большинство языков программирования используют массивы для хранения набора данных одного типа. Одним из основных недостатков массивов является то, что после объявления размера массива его нельзя изменить. Если программист хочет сохранить значения, превышающие размер массива, он должен создать новый массив и скопировать существующие элементы в новый массив. В этих ситуациях коллекции могут быть использованы. Можно добавлять элементы, удалять элементы и многие другие операции с поддержкой коллекций. Существуют различные типы коллекций, доступных на языках программирования, таких как Java. List и Set являются интерфейсами иерархии коллекций. Базовым интерфейсом для других интерфейсов является Коллекция. ключевое отличие между списком и множеством List поддерживает хранение одного и того же элемента несколько раз, а Set не поддерживает сохранение одного и того же элемента несколько раз. Поэтому набор не допускает дублирование.
1. Обзор и основные отличия
2. Что такое список
3. Что установлено
4. Сходства между списком и множеством
5. Сравнение бок о бок - список против набора в табличной форме
6. Резюме
Список представляет собой интерфейс, который расширяет интерфейс Коллекции. В интерфейсе Collection есть несколько методов. Метод add помогает добавить элемент. «Метод удаления» - удалить элемент. Существует метод addAll для добавления нескольких элементов, а метод removeAll для удаления элементов из коллекции. Метод содержит помогает определить, присутствует ли конкретный объект в списке или нет. 'ContainsAll' - найти набор объектов в коллекции. Метод итератора используется для циклического перемещения по элементам списка. Поскольку List расширяет Collection, все методы Collection принадлежат List. Помимо этих методов, в списке есть такие методы, как get и set. Программист может получить значение по определенному индексу, используя метод get. Программист может установить значение по определенному индексу, используя метод set. 'IndexOf' используется, чтобы найти индекс элемента.
В списке операции могут выполняться в соответствии с положением. Программист может предоставить элемент данных, который должен быть добавлен в индекс. Так что он будет добавлен к конкретному индексу. Если программист не дает индекс, элемент будет добавлен в конец списка. Это также поддерживает вставленный заказ. Если элемент 1 добавлен, а затем элемент2 добавлен, то элемент1 будет перед элементом2.
Рисунок 01: Список и набор
ArrayList, LinkedList, Vector - это некоторые классы, которые реализуют List. В ArrayList доступ к элементу быстрый, но вставка и удаление ниже. ArrayList не является потокобезопасным. Доступ к одному и тому же ArrayList из нескольких потоков может не дать одинакового результата. В LinkedList элементы связаны как назад, так и вперед. Вставка и удаление элементов с использованием LinkedList выполняется быстрее, чем ArrayList. LinkedList реализует Список и Очередь Оба. Vector похож на ArrayList, но он безопасен, потому что все методы синхронизированы.
Set - это интерфейс, расширяющий интерфейс Collection. Поскольку интерфейс Set расширяет Collection, все методы 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 не будут иметь повторяющихся элементов..
Список против Сета | |
Интерфейс списка - это подчиненный интерфейс коллекции, который содержит методы для выполнения таких операций, как вставка, удаление на основе индекса. | Set Interface - это подчиненный интерфейс Collection, который содержит методы для выполнения таких операций, как вставка, удаление элементов при сохранении уникальных элементов.. |
Классы | |
ArrayList, Vector и LinkedList являются классами, которые реализуют интерфейс List. | HashSet, LinkedHashSet и TreeSet являются классами, которые реализуют интерфейс Set. |
Дублирование элемента | |
Список поддерживает дублирование элементов. | Набор не поддерживает дублирование элементов. Элементы уникальны. |
Коллекции используются для динамического хранения элементов. Языки программирования, такие как Java, предоставляют интерфейс Collection. List и Set - это два интерфейса, которые принадлежат интерфейсу Collection. Оба интерфейса расширяют коллекцию. В этой статье обсуждалась разница между List и Set. Основное различие между List и Set заключается в том, что List поддерживает хранение одного и того же элемента несколько раз, а Set не поддерживает хранение одного и того же элемента несколько раз. Набор всегда поддерживает уникальные элементы.
1.Point, учебники. «Коллекции Java.», Учебное пособие, 8 января 2018 г. Доступно здесь