Что такое коллекция Java? [closed]

8
задан Sean Patrick Floyd 29 August 2010 в 22:53
поделиться

5 ответов

Коллекция — это интерфейс в Java API, и согласно документации это...

Корневой интерфейс в иерархии коллекций. Коллекция представляет собой группу объектов, называемых ее элементами. В некоторых коллекциях допускается дублирование элементов, а в других нет. Некоторые упорядочены, а другие неупорядочены. JDK не предоставляет каких-либо прямых реализаций этого интерфейса: он предоставляет реализации более конкретных подинтерфейсов, таких как Set и List. Этот интерфейс обычно используется для передачи коллекций и управления ими там, где требуется максимальная универсальность.

Распространенными примерами коллекций являются: ArrayList, HashSet, LinkedList, Stack и Vector.

10
ответ дан 3 November 2019 в 12:13
поделиться

Я думаю, что на этот вопрос лучше всего ответить не в программировании.

Допустим, у вас есть 5 мячей, и вы хотите легко их перемещать. Вы получаете мешок и кладете в него 5 шаров. Сумка выступает в роли контейнера. Теперь вы можете перемещать этот мешок, и поэтому 5 шаров довольно легко перемещаются вместе с ним.

Проще говоря, вы держите ноль или более объектов внутри другого объекта для легкого поиска.

11
ответ дан 3 November 2019 в 12:13
поделиться

Это класс, реализующий интерфейс java.util.Collection.

Есть еще одна ветка для тех, кто реализует java.util.Map.

Это основа структур данных в Java: List, Set, LinkedList, HashMap, TreeMap и т. д.

2
ответ дан 3 November 2019 в 12:13
поделиться

Цитирование Java API «Коллекция, иногда называемая контейнером, — это просто объект, который объединяет несколько элементов в единое целое».

2
ответ дан 3 November 2019 в 12:13
поделиться

Обычно экземпляр java.util.Collection (хотя java.util.Map официально также является частью структуры коллекций)

Хотя интерфейс Collection может быть реализован напрямую, обычно клиентский код будет использовать реализацию одного из подинтерфейсов: Set, List, Queue / Deque

Вот пример кода (слева вы обычно видите интерфейс, а справа — класс реализации).

Наборы не хранят дубликатов, все их элементы уникальны:

final Set<String> basicSet = new HashSet<String>();
basicSet.add("One");
basicSet.add("Two");
basicSet.add("One");
basicSet.add("Three");
System.out.println(basicSet.toString());
// Output: [Three, One, Two]
// (seemingly random order, no duplicates)

SortedSets являются частным случаем наборов, в которых элементы хранятся в указанном порядке:

final SortedSet<String> sortedSet = new TreeSet<String>();
sortedSet.add("One");
sortedSet.add("Two");
sortedSet.add("One");
sortedSet.add("Three");
System.out.println(sortedSet.toString());
// Output: [One, Three, Two]
// (natural order, no duplicates)

Списки позволяют вам сохранить значение несколько раз и получить доступ или изменить порядок вставки:

final List<String> strings = new ArrayList<String>();
strings.add("Two");
strings.add("Three");
strings.add(0, "One"); // add item to beginning
strings.add(3, "One"); // add item at position 3 (zero-based)
strings.add("Three");
strings.add(strings.size() - 1, "Two"); // add item at last-but-one position
System.out.println(strings);
// Output: [One, Two, Three, One, Two, Three]

Существует также практическое сокращение для определения списка:

List<String> strings = Arrays.asList("One", "Two", "Three");
// this returns a different kind of list but you usually don't need to know that

и т. д.

Чтобы лучше понять, прочитайте The Collections Trail из Sun Java Tutorial (онлайн) или Java Generics and Collections Мориса Нафталина и Филипа Уодлера

26
ответ дан 3 November 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: