Heim  >  Artikel  >  Java  >  Java-Sammlungstypen

Java-Sammlungstypen

WBOY
WBOYOriginal
2024-08-30 15:48:31949Durchsuche

Java Collection Types, auch bekannt als Collection Framework, bietet viele Schnittstellen und Klassen, die bei der Implementierung wiederverwendbarer Sammlungsdatenstrukturen helfen. Diese Sammlungstypen bieten eine Architektur zum Speichern und Bearbeiten einer Gruppe von Objekten. In Java wird jede Gruppe einzelner Objekte, die als eine Einheit dargestellt werden, als Sammlung von Objekten bezeichnet. Auf dieser Grundlage wurde JDK 1.2 mit Collection Framework and Types eingeführt, das über alle Collection-Klassen und Schnittstellen verfügt. Einige der gebrauchsfertigen Sammlungen wie List, Set, Map, Queue und Stack usw. lösen häufige Probleme, die Benutzer mit einer Gruppe homogener und heterogener Objekte haben. Lassen Sie uns tiefer in das Thema Sammlungstypen eintauchen und Syntaxen für alle Typen kennenlernen.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Hierarchie der Java-Sammlungstypen/Framework

Java-Sammlungstypen

Die Sammlungstypen in Java bestehen aus mehreren Schnittstellen, wobei jede Schnittstelle zum Speichern eines bestimmten Datentyps verwendet wird

Iterierbare Schnittstelle

Es ist die Root-Schnittstelle für das Collection-Framework. Die Collection-Schnittstelle erweitert die Iterable-Schnittstelle. Daher implementieren alle Klassen und Schnittstellen diese Schnittstelle. Es enthält nur eine abstrakte Methode, nämlich den Iterator.

Syntax:

Iterator iterator();

Sammlungsschnittstelle

Es erweitert die iterierbare Schnittstelle und wird von allen Klassen des Sammlungsframeworks implementiert. Es enthält alle Methoden, über die jede Sammlung verfügt, z. B. das Entfernen von Daten, das Hinzufügen von Daten oder das Löschen von Daten usw.

Listenschnittstelle

Es handelt sich um die untergeordnete Schnittstelle der Sammlungsschnittstelle und ist für listenartige Daten vorgesehen, die zum Speichern einer geordneten Sammlung von Daten verwendet werden, wobei auch Duplikate möglich sind. Die Listenschnittstelle wird durch verschiedene Klassen wie Vector, Array List, Stack usw. implementiert. Da alle diese Unterklassen eine Liste implementieren, kann der Benutzer das Listenobjekt instanziieren.

Syntax:

List<T> array_list = new ArrayList<>();
List<T> linked_list = new LinkedList<>();
List<T> vector = new Vector<>();

„T“ ist der Objekttyp.

Array-Liste

Es stellt dynamische Arrays in Java bereit. Die Größe der Array-Liste erhöht sich, wenn die Sammlung wächst, oder verkleinert sich, wenn Objekte aus der Sammlung entfernt werden. In Java kann auf die Array-Liste zufällig zugegriffen werden und sie kann nicht für primitive Typen verwendet werden. In solchen Fällen ist eine Wrapper-Klasse erforderlich. Die Syntax ist oben dargestellt.

Verknüpfte Liste

Diese Klasse ist eine Implementierung der Datenstruktur der verknüpften Liste. Es handelt sich um eine lineare Datenstruktur, bei der Elemente nicht kontinuierlich gespeichert werden und jedes Element ein separates Objekt mit Daten- und Adressteilen ist. Elemente werden über Adressen und Zeiger verknüpft und jedes Element wird als Knoten bezeichnet. Die Syntax ist oben dargestellt.

Vektor

Diese Klasse stellt dynamische Arrays bereit. Es ist langsamer als Standard-Arrays, ist aber in Programmen hilfreich, in denen viele Manipulationen erforderlich sind. Es ähnelt der Array-Liste, aber Vector ist synchronisiert und die Array-Liste ist nicht synchronisiert. Die Syntax ist oben dargestellt.

Stapel

Diese Klasse modelliert und implementiert die Stack-Datenstruktur und basiert auf dem Grundprinzip „Last in first out“. Neben grundlegenden Push-Pop-Operationen bietet diese Klasse auch Leer-, Peek- und Suchfunktionen. Und kann auch als Unterklasse von Vector bezeichnet werden.

Syntax:

Stack<T> stack = new Stack<>();

Warteschlangenschnittstelle

Diese Schnittstelle verwaltet die First In First Out-Reihenfolge, die der Warteschlangenlinie ähnelt. Es dient zum Speichern aller Elemente, bei denen die Elementreihenfolge wichtig ist. Es besteht auch aus verschiedenen Klassen wie Deque, Priority Queue, Array Queue usw. Da alle Unterklassen die Warteschlange implementieren, kann der Benutzer Warteschlangenobjekte instanziieren.

Syntax:

Queue<T> array_queue = new ArrayQueue<>();
Queue<T> priority_queue = new PriorityQueue<>();

Prioritätswarteschlange

Es wird verwendet, wenn Objekte basierend auf ihrer Priorität verarbeitet werden sollen, d. h. basierend auf einem Prioritätsheap. Die Elemente in der Prioritätswarteschlange werden gemäß der natürlichen Reihenfolge oder mithilfe von Comparator geordnet. Die Syntax ist oben angegeben.

Array-Warteschlange

Diese Klasse ist im Framework implementiert und ermöglicht dem Benutzer ein veränderbares Array. Es handelt sich um eine besondere Art von Arrays, die es Benutzern ermöglicht, Elemente auf beiden Seiten der Warteschlange zu entfernen oder hinzuzufügen. Es unterliegt keinen Einschränkungen und wächst bei Bedarf. Die Syntax ist oben dargestellt.

Deque-Schnittstelle

Diese Schnittstelle ist eine geringfügige Variation der Warteschlangendatenstruktur. Sie wird auch als doppelendige Warteschlange bezeichnet, da Elemente an beiden Enden hinzugefügt und entfernt werden können. Diese Schnittstelle instanziiert die Klasse ArrayDeque.

Syntax:

Deque<T> deque = new ArrayDeque<>();

Set Interface

This class is inherent implementation for hash table data structure. Objects that are inserted into HashSet do not provide any guarantee that elements will be inserted in the same order. Objects are inserted based on hashcode and allow insertion of NULL elements too.

Syntax:

HashSet<T> hashset = new HashSet<>();

Linked Hash Set

It is much similar to Hash Set but uses a double linked list to store data by retaining the order of elements

Syntax:

LinkedHashSet<T> linked_hashset = new LinkedHashSet<>();

Sorted Set Interface

This interface is much similar to Set Interface. It has extra methods which maintain the order of elements. Interface is implemented by instantiating is Tree Set.

Syntax:

SortedSet<T> sorted_Set = new TreeSet<>();

Tree Set

This class uses a Tree for storage. Ordering of elements is maintained by using natural ordering else an external comparator is required.

Syntax:

TreeSet<T> tree_set = new treeSet<>();

Map Interface

This interface, Map is a data structure with key-value mapping data. It does not support duplicates because the same key cannot have multiple mappings. Map Interface is implemented by classes like Hash Map, Tree Map, etc.

Syntax:

Map<T> hash_map = new HashMap<>();
Map<T> tree_map = new TreeMap<>();

Hash Map

It provides a basic implementation of Java Map interface. To access a value in Hash Map, key is to be known. There is a technique of converting larger strings to small strings

Syntax:

HashMap<T, T> hashmap = new HashMap<T, T>();

Conclusion

With this, we conclude our topic “Java Collection Types”. We have seen various Interfaces and also the Iterable through which Interface came out. We have studied various interfaces such as Set, Java List, and Map interface and also covered subtypes of Java Collection Framework i.e. Stack, Queue, Deque. All the Syntax is given here which will be helpful to write logic and implement it programmatically. We have also seen the Java Collection Framework Hierarchy.

Das obige ist der detaillierte Inhalt vonJava-Sammlungstypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Liste Java überspringenNächster Artikel:Liste Java überspringen