Collection vs. Collections in Java: Unterschied zwischen Collection & Collections in Java

Veröffentlicht: 2021-01-29

Inhaltsverzeichnis

Einführung

Dieser Artikel befasst sich mit einer der beliebtesten Fragen in der Java-Sprache – Was ist Collection in Java? Und was meinst du mit Sammlungen in Java? Sind Collection und Collections in Java gleich oder unterschiedlich?

Was ist Sammlung?

Sammlung kann einfach als Schnittstelle beschrieben werden. Mit Hilfe von Collection können wir verschiedene Objekte einfach zu einer Einheit zusammenfassen. Collection bildet die Wurzel oder den Kopf der Schnittstellenhierarchie. Wenn Sie sich mit der Sprache C++ gut auskennen, betrachten Sie das Konzept der Sammlung als sehr ähnlich zu Containern in der Sprache C++. Die anderen Unterschnittstellen dieser Hierarchie sind Sets, Lists, Maps, Queue, Deque usw.

Java JDK erlaubt uns nicht, die Container-Root-Schnittstelle direkt zu manipulieren, aber erlaubt uns den direkten Zugriff auf seine oben erwähnten Unterschnittstellen. Es gibt auch Unterschnittstellen, auf die wir indirekt zugreifen können. Beispiele dafür sind – ArrayList, PriorityQueue, Vector, HashSet usw.

Abholung erforderlich?

Diese Sammlungsschnittstellen helfen uns beim Umgang mit verschiedenen Objekten, indem sie sie effizient gruppieren und entsprechende Operationen ausführen. Diese Objekte können ähnlich oder voneinander verschieden sein. Ausgehend von den Objekten und deren Umgang mit einzelnen Objekten haben wir die oben genannten Teilschnittstellen.

Lassen Sie uns einige der gebräuchlichsten Collection-Schnittstellen im Detail betrachten:

  • Set – Das Wichtigste an Sets ist, dass Sets niemals doppelte Elemente oder Objekte enthalten sollten. Diese Set-Schnittstelle kann von java bezogen werden. util-Paket. Sätze geben ihre Elemente in ihrer Sammlung nicht in vorhersehbarer Reihenfolge zurück. Es ist ungeordnet, und viele Java-Entwickler vergessen diese Tatsache oft und werden daher mit Fehlern in ihrem Code konfrontiert.

EnumSet, HashSet, LinkedHashSet, TreeSet, ConcurrentSkipList Set usw. sind einige Klassen, die auf der Set-Schnittstelle implementiert werden können.

  • Liste – Listenimplementierung kann man sich ähnlich wie Python-Listen vorstellen, sie weisen jedoch einige Unterschiede auf. Listenschnittstellen in Java sind Sammlungen geordneter Elemente oder Objekte. Sie sind sortiert. Darüber hinaus können Listen im Gegensatz zu Sets doppelte Elemente in ihrer Sammlung zulassen. Wie bei einem Array kann auf die Elemente einer Liste basierend auf dem Index oder der Position ihrer Elemente zugegriffen werden. Einige grundlegende Operationen mit Listen sind – Suchen nach einem Element, Zugreifen auf ein Element aus der Liste usw.

Vector, Stack, LinkedList, ArrayList, CopyOnWriteArrayList sind einige der am häufigsten verwendeten Klassen, die mit Listenschnittstellen verwendet werden können.

  • Karte – Für diejenigen, die mit Python gut vertraut sind, ist die Kartenschnittstelle der Datenstruktur des Wörterbuchs in der Python-Sprache sehr ähnlich. Mit der Map-Schnittstelle können wir Datenelemente in Schlüssel-Wert-Paaren gruppieren und speichern. Wie aus der Tatsache hervorgeht, ist jeder Schlüssel in einer Map einzigartig, und daher gibt es keine doppelten Schlüssel. Unter Verwendung des Schlüssels wird der entsprechende Wert zurückgegeben.

HashMap, HashTable, EnumMap, TreeMap, IdentityHashMap, WeakHashMap sind einige Klassen, die mit der Map-Schnittstelle implementiert werden können.

  • Stapel – Die meisten Programmierer sind bereits mit Stapeln und Warteschlangen vertraut (Warteschlangen werden in Kürze besprochen). Die Stack-Schnittstelle ist basierend auf der üblichen LIFO-Datenstruktur implementiert, dh Last In First Out. In einem Stapel werden Elemente in ein Ende des Stapels geschoben, und Elemente springen am selben Ende dieses Stapels heraus.
  • Warteschlange – Warteschlangenschnittstelle, basierend auf der üblichen Warteschlangendatenstruktur, implementiert ein FIFO-Verfahren. FIFO steht für First In First Out. Mit einfachen Worten, Elemente werden in ein Ende der Warteschlange geschoben und am anderen Ende dieser Warteschlange herausgezogen.

Was sind Sammlungen?

Collections ist einfach eine Utility -Klasse , die in Java zu finden ist. util-Paket. Die Methoden, die zur Collections-Klasse gehören, sind zwingend statische Methoden.

Brauchen Sie Sammlungen?

Sammlungen bieten Entwicklern eine einfachere Einstiegsmethode, um bestimmte grundlegende Operationen an Elementen auszuführen, ohne sich mit den wesentlichen Details dieser Operation befassen zu müssen. Die Entwickler können ihre Aufmerksamkeit auf viel größere Aufgaben oder Operationen richten. Daher sind Collections-Klassen für erfahrene Entwickler äußerst praktisch.

Zum Beispiel – Collections-Klasse hat eine Methode, um nach einem bestimmten Element in einer Sammlung zu suchen. Es hat auch eine Methode, um Sortieroperationen an den Elementen der Collection-Schnittstelle durchzuführen.

Einige häufig verwendete Collections-Klassen sind:

  • Collections.binarySearch() – Sucht mithilfe des beliebten binären Suchalgorithmus nach dem gewünschten Element in einer Sammlung.
  • Collections.sort() – Führt einen Sortiervorgang für die angegebene Sammlung durch.
  • Collections.max() – Wie aus dem Namen hervorgeht, gibt es das Maximum-Element aus einer angegebenen Sammlung zurück.
  • Collections.min() – Gibt das Minimum-Element aus einer angegebenen Sammlung zurück.
  • Collections.reverse() – Kehrt die Reihenfolge der in der angegebenen Sammlung vorhandenen Elemente um.
  • Collections.copy() – Wie der Name schon sagt, werden damit Elemente aus einer Sammlung in eine andere Sammlung kopiert.

Lesen Sie auch: Ideen und Themen für Java-Projekte

Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

In Java sind Collection und Collections also überhaupt nicht dasselbe. Collection ist die Schnittstelle, an der Sie Objekte zu einer einzigen Einheit gruppieren. Collections ist eine Hilfsklasse, die eine Reihe von Operationen enthält, die Sie für Collection ausführen. Collection enthält nicht alle statischen Methoden, aber Collections bestehen aus Methoden, die alle statisch sind.

Was als nächstes lernen? Interessieren Sie sich für maschinelles Lernen und künstliche Intelligenz? upGrad bietet in Zusammenarbeit mit IIIT-B ein PG-Diplom in ML und KI an, das Sie in diesen begehrtesten Bereichen äußerst qualifiziert macht und so Ihre Karriere zu einer fruchtbaren macht.

Wenn Sie mehr über Softwareentwicklungsprozesse und -tools erfahren möchten, besuchen Sie den Full-Stack-Entwicklerkurs des upGrad Executive PG-Programms, der für Berufstätige konzipiert ist.

Was ist Sammlung in Java?

Java Collection ist die Implementierung des Collection-Frameworks. Es stellt viele Klassen bereit, die die Sammlungsobjekte gruppieren und organisieren. Sammlung ist eine Datenstruktur, die verwendet wird, um ähnliche Daten zusammen zu speichern. Sammlung ist ein benutzerdefinierter Datentyp. Es wird verwendet, um Objekte in Sammlungen zu gruppieren. Die Sammlung kann entweder nicht modifizierbar oder modifizierbar sein. Die Erfassungsschnittstelle ist im java.lang-Paket definiert und diese Schnittstelle wird von einigen Klassen im java.util-Paket implementiert. Collection ist ein generischer Typ. Alle Unterklassen von Collection in Java sollten diese Schnittstelle implementieren. Was sie so nützlich macht, ist die Tatsache, dass sie alle eine gemeinsame Schnittstelle implementieren. Damit kann die Manipulation von Sammlungsobjekten ohne Modifikation durchgeführt werden. Das spart viel Zeit und macht unseren Code lesbarer, effizienter und wiederverwendbar.

Was ist eine ArrayList in Java?

ArrayList ist eine wichtige Klasse in Java. Es wird verwendet, um eine Liste fester Größe von Objekten zu speichern. Mit anderen Worten, es ähnelt einem Array. Das Hinzufügen, Löschen und Ändern des Inhalts der Liste ist in einer ArrayList schneller als in einem Array. Außerdem wird die Größe der Liste automatisch angepasst, wenn Sie die Größe der Liste ändern. Die ArrayList-Klasse implementiert die List-Schnittstelle, sodass Sie ein ArrayList-Objekt überall dort verwenden können, wo Sie eine Java-Liste verwenden würden. Die ArrayList-Klasse kümmert sich um die Größenanpassung nach Bedarf. Wenn Sie beispielsweise die Methode add( ) aufrufen und ihr eine Referenz auf eine Liste mit einem Element übergeben, wird ein neues Array zugewiesen, das die Liste enthält. Das neue Array wird dann mit einem Element gefüllt. Es ist, als ob Sie ein Array erstellt und es dann mit einem Element gefüllt hätten. Wenn das ArrayList-Objekt abgebaut wird, wird das Array verworfen.

Was ist eine HashMap in Java?

Eine HashMap in Java ist im Grunde eine Implementierung der AbstractMap-Schnittstelle. Es ist im Grunde eine Datenstruktur, die das Speichern und Abrufen von Schlüssel-Wert-Paaren ermöglicht. Der Hauptunterschied zwischen HashMap und TreeMap besteht darin, dass HashMap beim Erstellen von Einträgen Hash-Codes berechnet, während TreeMap die natürliche Reihenfolge zum Sortieren von Einträgen verwendet.