2010-08-30 5 views
6

Я хочу знать: что такое коллекция на Java?Что такое коллекция java?

+3

отредактировал предыдущее редактирование, нет смысла создавать «googleable» тег –

+3

Мне нужен значок «Googeable» – Daniel

+2

Как человек, который борется с самообучением. Позвольте мне предложить конструктивную критику. Сначала делайте домашнее задание и показывайте другим плоды такого труда. Сначала задайте этот вопрос. Затем создайте некоторые конкретные примеры и посмотрите, смогут ли другие критиковать ваше понимание. Таким образом, вы строите уважение к себе и уважаете других. Удачи. Мы все учимся. – GeekyOmega

ответ

2

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

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

Они являются основой для структур данных в Java: List, Set, LinkedList, HashMap, TreeMap и т.д.

9

Collection является интерфейсом в Java API, и according to the docs это ...

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

Типичные примеры коллекций: ArrayList, HashSet, LinkedList, Stack и Vector.

+0

спасибо, PLZ объяснить мне, что такое внутренний класс и внешний класс в java – mihir

+4

Используйте это поле, чтобы добавить комментарий к ответу. Используйте ссылку * Задать вопрос *, чтобы задать новые вопросы :) – aioobe

2

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

22

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

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

Ниже приведен пример кода (с левой стороны вы увидите интерфейс, а с правой стороны - класс реализации).

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

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) 

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

final List<String> strings = new ArrayList<String>(); 
strings.add("Two"); 
strings.add("Three"); 
strings.add(0, "One"); 
strings.add(3, "One"); 
strings.add("Three"); 
strings.add(strings.size() - 1, "Two"); 
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 Мориса Нафталина и Филипп Уодлером

9

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

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

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

Смежные вопросы