В чем разница между Collection
и List
в Java? Когда я должен использовать что?
java
collections
Чыонг Ха
источник
источник
Ответы:
Во-первых: а
List
естьCollection
. Это специализированныйCollection
, однако.А
Collection
это просто: коллекция предметов. Вы можете добавлять вещи, удалять вещи, перебирать вещи и запрашивать, сколько там вещей.A
List
добавляет к ней информацию об определенной последовательности вещей: вы можете получить элемент в позиции n , вы можете добавить элемент в позиции n , вы можете удалить элемент в позиции n .В a
Collection
вы не можете сделать это: «5-й элемент в этой коллекции» не определен, потому что нет определенного порядка.Существуют и другие специализированные коллекции, например, a,
Set
добавляющая возможность, что она никогда не будет содержать один и тот же элемент дважды.источник
Collection
является корневым интерфейсом к иерархии java Collections.List
один подчиненный интерфейс, который определяет упорядоченную коллекцию, другие подчиненные интерфейсы, какQueue
правило, будут хранить элементы, готовые для обработки (например, стек ).Следующая диаграмма демонстрирует взаимосвязь между различными типами коллекций Java:
источник
Map
это не такCollection
.Java API - лучший ответ на этот вопрос
Коллекция
Список (расширяет коллекцию)
источник
Список и Набор - два подкласса Коллекции.
В списке данные располагаются в определенном порядке.
В Set он не может содержать одни и те же данные дважды.
В Collection он просто хранит данные без определенного порядка и может содержать повторяющиеся данные.
источник
Коллекция - это высокоуровневый интерфейс, описывающий объекты Java, который может содержать коллекции других объектов. Не очень конкретно о том, как к ним осуществляется доступ, могут ли несколько копий одного и того же объекта существовать в одной коллекции или важен ли порядок. Список специально заказан коллекция объектов. Если вы поместите объекты в Список в определенном порядке, они останутся в этом порядке.
И решить, где использовать эти два интерфейса, гораздо менее важно, чем решить, какую конкретную реализацию вы используете. Это повлияет на время и пространство вашей программы. Например, если вам нужен список, вы можете использовать ArrayList или LinkedList, каждый из которых будет иметь значение для приложения. Для других типов коллекций (например, Наборы) применяются аналогичные соображения.
источник
Коллекция - это супер интерфейс List, поэтому каждый список Java также является экземпляром коллекции. Коллекции могут повторяться только последовательно (и в произвольном порядке), тогда как List обеспечивает доступ к элементу в определенной позиции с помощью
get(int index)
метода.источник
Коллекция - это основной интерфейс иерархии Java-коллекций, а List (последовательность) - один из подчиненных интерфейсов, который определяет упорядоченную коллекцию.
источник