Чем set отличается от list java

Разница между интерфейсом List и Set в Java

В этом посте мы обсудим разницу между List а также Set интерфейс на Java.

Оба List а также Set интерфейсы являются членами Java Collections Framework. В этом посте будет представлен обзор некоторых основных различий между этими двумя интерфейсами:

  1. List в Java представляет собой упорядоченную последовательность элементов, и ее элементы могут быть доступны по индексу. Set в Java представляет собой отдельный набор элементов, которые могут быть как упорядоченными, так и неупорядоченными, в зависимости от реализации. Например, HashSet реализация неупорядочена, LinkedHashSet реализация заказана, и TreeSet реализация упорядочена естественным порядком или предоставленным компаратором.
  2. Еще одно заметное различие между List а также Set интерфейс заключается в том, что Set содержит только отдельные элементы, тогда как List позволяет дублировать элементы.
  3. List допускает любое количество нулевых значений, в то время как набор может содержать не более одного нулевого элемента.
  4. Несколько List реализации реализуют RandomAccess интерфейс, интерфейс маркера для поддержки произвольного доступа с постоянным временем. С другой стороны, ни один из Set реализации могут реализовать RandomAccess интерфейс.
  5. The List интерфейс предоставляет специальный итератор ListIterator для облегчения двунаправленного доступа, который недоступен для Set интерфейс.
  6. А List следует использовать, когда необходимо сохранить порядок вставки элементов. Используйте набор, если нам нужно поддерживать коллекцию, не содержащую повторяющихся элементов.
  7. Популярная реализация List интерфейс включает ArrayList а также LinkedList в то время как Set интерфейс включает HashSet , TreeSet , а также LinkedHashSet .
Читайте также:  Yii2 html submit button

Вот и все различия между интерфейсами List и Set в Java.

Использованная литература:

Средний рейтинг 5 /5. Подсчет голосов: 4

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Источник

В чем разница между List и Set в Java

Список — это тип упорядоченной коллекции, которая поддерживает элементы в порядке вставки, в то время как Set — это тип неупорядоченной коллекции, поэтому элементы не поддерживаются в каком-либо порядке.

Список позволяет дублировать, а Set не позволяет дублировать элементы. Все элементы набора должны быть уникальными, если вы попытаетесь вставить дублирующий элемент в Set, это заменит существующее значение.

Список разрешает любое количество нулевых значений в своей коллекции, в то время как Set разрешает только одно значение null в его коллекции.

Новые методы определены внутри интерфейса List. Но в интерфейсе Set нет новых методов, поэтому мы должны использовать методы интерфейса Collection только с помощью подклассов Set.

Список можно вставлять как в прямом направлении, так и в обратном направлении с помощью Listiterator, в то время как Set можно перемещать только в прямом направлении с помощью итератора

Когда использовать List и Set в Java

Список — упорядоченная последовательность элементов, однако set — это отличный список неупорядоченного элемента. Таким образом, используйте список для хранения неидеальных объектов в соответствии с порядком вставки и используйте набор для хранения уникальных объектов в случайном порядке

Рамка коллекций Java

Коллекции Java — это предопределенный набор классов или структур данных, которые могут использоваться для хранения нескольких элементов в одном устройстве. Динамически распределенные структуры данных в Java (такие как Hashtable, HashSet, HashMap, LinkedList, Vector, Stack, ArrayList) поддерживаются в единой архитектуре, называемой Framework Collection, которая обеспечивает общее поведение всех классов. Подробнее о . Framework Java Collection Framework

Источник

What is the Difference between Java Set vs List?

Java Course - Mastering the Fundamentals

A List interface is an ordered collection of values in which values may or may not be duplicated. A Set interface in Java is an unordered collection of values in which values cannot be repeated. Since lists are ordered, position indexing is allowed in them. However, in unordered items like sets, positional indexing is not possible.

What is List Interface?

List interface in Java is a child interface for Collection objects. As mentioned previously, lists are ordered collections of data. Their ordered nature ensures that their insertion order remains intact. They can be indexed and accessed based on their positions.

Syntax

Example

The output for the following code is:

What is Set Interface?

The set interface in java.util package extends the Collection interface. Sets in java are unordered collections of objects. These restrict duplication of values. Since they are unordered, positional indexing is not allowed in sets.

Syntax

Example

The output for the following code is:

Java Set Vs List

List Interface Set Interface
Lists allow duplicate values Sets can’t have duplicate values
Lists can be indexed and positionally accessed Sets cannot be indexed and cannot be accessed based on their positions
Multiple null elements can be stored Only one null element can be stored at a time
List implementations are ArrayList, LinkedList, Vector, Stack. Set implementations are HashSet, LinkedHashSet.

When to Use Sets and When to Use Lists?

Lists could be implemented in ArrayList, LinkedList, Vector, and Stack. Lists are best used when a small dataset is at hand

Sets could be implemented in HashSet, LinkedHashSet, etc. Sets are best used when a larger dataset needs to be processed.

Learn More

To learn more about collections in Java, check this out.

Conclusion

  • A List interface is an ordered collection of values in which values may or may not be duplicated
  • A List interface is an ordered collection of values in which values may or may not be duplicated
  • Lists allow duplicate values while Sets don’t.
  • Lists allow positional indexing. The same is not allowed in sets.

Источник

Оцените статью