Когда дело доходит до JDK 2.0, для группировки объектов в единое целое использовались Hashtable, Vectors и Arrays. Но в JDK 8 фреймворк коллекции появился. Обычно он предоставляет множество интерфейсов для работы со сбором данных.
Среди них набор и список используется для группировки объектов. Оба они помогают расширить интерфейс коллекции. Обе они являются двумя из нескольких структур данных, поддерживаемых C #. Оба этих интерфейса довольно запутаны, но в этой статье подчеркиваются различия между набором и списком, чтобы прояснить путаницу.
Установить против списка
Основное различие между set и list заключается в том, что set не допускает дублирования, и если такое появляется, значение автоматически перезаписывается. С другой стороны, список позволяет хранить повторяющиеся значения. Итератор - единственный метод, используемый набором, в то время как метод ListIterator и итератор используются списком.
Set является изменяемым, повторяемым и неупорядоченным типом данных коллекции. Решающим преимуществом его использования является то, что для проверки конкретного элемента, содержащегося в наборе, он использует сильно оптимизированный.
Список - это набор элементов или значений разных типов. В списке элементы разделены с помощью (,), а также заключены в квадратные скобки. Доступ к элементам, присутствующим в списке, можно получить по индексу. В нем может храниться несколько различных элементов.
Таблица сравнения между набором и списком
Параметры сравнения | Набор | Список |
---|---|---|
Последовательность | Неупорядоченный | Заказал |
Повторяющиеся значения | Не хранит | магазины |
Нулевые значения | Только один | Есть много |
Позиционный доступ | да | Нет |
Класс наследия | Нет | Только вектор |
Что установлено?
Понятие множества встречается и в математике, и здесь меньше или больше означает то же самое. В большинстве случаев это набор похожих элементов и обычно означает набор элементов. Это можно прояснить на примере:
Ввод в набор: 20, 10, 30, 50
Хранится в наборе 10, 20, 30, 50
Элементы, которые здесь сортируются, находятся не в порядке их вставки. Следовательно, перед сохранением элементов он всегда сортирует их, что является особенностью. Исключением является connectedhashSet, поскольку он поддерживает порядок вставки элементов.
Что касается компьютерных терминов, в этот набор входят несколько дополнительных свойств: наследование и методы. Функции и методы очень похожи, и они выполняют определенные задачи, такие как удаление, повторение или добавление через набор элементов.
Термин «наследование» хорошо известен большинству из нас, и здесь он означает то же самое. Он может наследовать метод из своей коллекции и использоваться с интерфейсом набора. Установить интерфейс ничего, кроме всего набора элементов, включая методы. Когда дело доходит до ListIterator, его нельзя использовать в наборе для обхода элементов.
Что такое список?
Список аналогичен массивам динамического размера, объявленным в других языках (ArrayList в Java и vector в C ++). Он не обязательно должен быть всегда однородным, поэтому это самый мощный инструмент в Python. В Python списки имеют определенное количество и упорядочены.
Списки даже после их создания могут быть изменены, потому что они изменяемы. Один список может содержать типы данных, такие как строки, целые числа, а также объекты. Индексация списка выполняется с помощью 0, который является первым индексом. В определенной последовательности элементы индексируются в списке.
Каждый элемент, представленный в списке, имеет свое определенное место, что позволяет дублировать элементы в списке. У каждого элемента есть своя достоверность и свое место. Это полезный инструмент для сохранения последовательности данных и дальнейшего повторения ее.
В списке Python есть несколько способов распечатать весь список со всеми присутствующими элементами. Когда дело доходит до печати определенного диапазона элементов из списка, в игру вступает операция среза. Обычно это выполняется в списках с помощью двоеточия.
Основные различия между сетом и списком
Вывод
Можно сделать вывод, что для группировки объектов используются как набор, так и список. Основная цель - расширить интерфейс коллекции. Обе они поддерживаются C #, поскольку входят в число двух из нескольких структур данных. Set содержит разные элементы, но неупорядоченным образом, а список содержит те же элементы в упорядоченной последовательности.
Set не может разрешить дублирование, и если такое появляется, значение автоматически перезаписывается. С другой стороны, список позволяет хранить повторяющиеся значения. В наборе есть только одно нулевое значение, тогда как в списке присутствует несколько нулевых значений. Итератор - единственный метод, используемый набором, в то время как метод ListIterator и итератор используются списком. В наборе элементы сами по себе являются индексами, и каждый цикл используется для доступа к его элементам. С другой стороны, доступ к элементам списка осуществляется с помощью индекса.