2010-08-30 17 views
6

Ich möchte wissen: Was ist eine Sammlung in Java?Was ist eine Java-Sammlung?

+3

bearbeitet die vorherige Bearbeitung, es hat keinen Sinn, ein "googleable" -Tag zu erstellen –

+3

Ich möchte ein "Googeable" Abzeichen – Daniel

+2

Als jemand, der mit sich selbst zu kämpfen kämpft. Lassen Sie mich konstruktive Kritik geben. Machen Sie zuerst Ihre Hausaufgaben und zeigen Sie anderen die Früchte solcher Arbeit. Google diese Frage zuerst. Dann erstellen Sie einige konkrete Beispiele und sehen Sie, ob andere Ihr Verständnis kritisieren können. Auf diese Weise bauen Sie Respekt für sich selbst und respektieren auch andere. Viel Glück. Wir alle lernen. – GeekyOmega

Antwort

2

Es ist eine Klasse, die java.util.Collection-Schnittstelle implementiert.

Es gibt einen weiteren Zweig für diejenigen, die java.util.Map implementieren. Dies sind die Grundlage für die Datenstrukturen in Java

: List, Set, LinkedList, HashMap, TreeMap usw.

9

Collection ist eine Schnittstelle in der Java-API und according to the docs es ist ...

Die Root-Schnittstelle in der Sammlungshierarchie. Eine Sammlung stellt eine Gruppe von Objekten dar, die als ihre Elemente bezeichnet werden. Einige Sammlungen erlauben doppelte Elemente und andere nicht. Einige sind bestellt und andere ungeordnet. Das JDK stellt keine direkten Implementierungen dieser Schnittstelle zur Verfügung. Es bietet Implementierungen von spezifischeren Subschnittstellen wie Set und List. Diese Schnittstelle wird normalerweise verwendet, um Sammlungen umzuleiten und sie zu manipulieren, wenn maximale Allgemeingültigkeit gewünscht wird.

Gängige Beispiele für Sammlungen sind: ArrayList, HashSet, LinkedList, Stack und Vector.

+0

danke mir zu sagen, plz erklären Sie mir, was innere Klasse und äußere Klasse in Java ist – mihir

+4

Verwenden Sie dieses Feld, um Kommentare zu der Antwort hinzuzufügen. Verwenden Sie den Link * Frage stellen *, um neue Fragen zu stellen :) – aioobe

2

Zitat Java API "Eine Sammlung - manchmal Container genannt - ist einfach ein Objekt, das mehrere Elemente zu einer Einheit zusammenfasst."

22

die Regel eine Instanz von java.util.Collection (obwohl java.util.Map ist offiziell auch ein Teil des Rahmen Sammlung)

Obwohl die Collection-Schnittstelle direkt umgesetzt werden kann, in der Regel Client-Code wird eine Implementierung von einem der Unter Schnittstellen verwenden: Set ,, Queue/Deque

Hier ist ein Beispielcode (auf der linken Seite sehen Sie normalerweise eine Schnittstelle und auf der rechten Seite eine Implementierungsklasse).

Sets Duplikate nicht speichern, alle ihre Elemente sind einzigartig:

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 ein Sonderfall von Sätzen, die Elemente in einer bestimmten Reihenfolge speichern:

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 Sie lassen Speichern Sie einen Wert mehrere Male und greifen Sie auf den Anzeigenauftrag zu oder ändern Sie ihn:

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] 

Es gibt auch eine praktische Kurzschrift eine Liste für die Definition:

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

usw.

Um ein besseres Verständnis zu bekommen, lesen Sie The Collections Trail von der Sun Java Tutorial (online) oder Java Generics and Collections von Maurice Naftalin und Philip Wadler

9

Ich denke, diese Frage am besten in einem nicht-Programmierung Sinn beantwortet ist.

Angenommen, Sie haben 5 Bälle und möchten diese leicht verschieben. Du bekommst eine Tasche und platzierst die 5 Kugeln darin. Die Tasche fungiert als ein Behälter. Du kannst diese Tasche jetzt bewegen, und so bewegen sich die 5 Bälle ganz leicht mit.

Einfach gesagt, halten Sie null oder mehr Objekte, in einem anderen Objekt für den einfachen Abruf.