Maison >Java >javaDidacticiel >Types de collections Java

Types de collections Java

WBOY
WBOYoriginal
2024-08-30 15:48:31985parcourir

Java Collection Types, également connu sous le nom de Collection Framework, fournit de nombreuses interfaces et classes qui aideront à implémenter des structures de données de collection réutilisables. Ces types de collections fournissent une architecture pour stocker et permettre la manipulation d'un groupe d'objets. En Java, qu'il s'agisse de tout groupe d'objets individuels représentés comme une seule unité, on l'appelle collection d'objets. Sur cette base, JDK 1.2 a été introduit avec Collection Framework and Types qui contient toutes les classes et interfaces de collection. Certaines des collections prêtes à l'emploi telles que liste, ensemble, carte, file d'attente et pile, etc. résolvent les problèmes courants auxquels l'utilisateur est confronté avec un groupe d'objets homogènes et hétérogènes. Approfondissons le sujet des types de collection et apprenons à connaître les syntaxes de tous les types.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Hiérarchie des types/framework de collection Java

Types de collections Java

Les types de collections en Java se composent de plusieurs interfaces où chaque interface est utilisée pour stocker un type de données spécifique

Interface itérable

C'est l'interface racine du framework Collection. L'interface de collection étend l'interface Iterable. Par conséquent, toutes les classes et interfaces implémentent cette interface. Il ne contient qu'une seule méthode abstraite qui est l'itérateur.

Syntaxe :

Iterator iterator();

Interface de collecte

Il étend l'interface itérable et est implémenté par toutes les classes du framework de collection. Il contient toutes les méthodes dont dispose chaque collection, comme supprimer des données, ajouter des données ou effacer des données, etc.

Interface de liste

Il s'agit de l'interface enfant de l'interface Collection et est dédiée aux données de type liste qui est utilisée pour stocker une collection ordonnée de données, permettant également les doublons. L'interface de liste est implémentée par diverses classes telles que Vector, Array List, Stack, etc. Comme toutes ces sous-classes implémentent une liste, l'utilisateur peut instancier l'objet liste.

Syntaxe :

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

« T » étant le type d'objet.

Liste des tableaux

Il fournit des tableaux dynamiques en Java. La taille de la liste des tableaux augmente si la collection s'agrandit ou diminue si des objets sont supprimés de la collection. En Java, la liste Array peut être accessible de manière aléatoire et ne peut pas être utilisée pour les types primitifs, elle nécessitera une classe wrapper dans de tels cas. La syntaxe est indiquée ci-dessus.

Liste chaînée

Cette classe est une implémentation de la structure de données Linked List. Il s'agit d'une structure de données linéaire dans laquelle les éléments ne sont pas stockés en continu et chaque élément est un objet distinct comportant des parties de données et d'adresse. Les éléments sont liés à l'aide d'adresses et de pointeurs et chaque élément est appelé nœud. La syntaxe est indiquée ci-dessus.

Vecteur

Cette classe fournit des tableaux dynamiques. Il est plus lent que les tableaux standards mais est utile dans les programmes où de nombreuses manipulations sont nécessaires. Elle est similaire à la liste de tableaux mais le vecteur est synchronisé et la liste de tableaux n'est pas synchronisée. La syntaxe est indiquée ci-dessus.

Pile

Cette classe modélise et implémente la structure de données Stack et est basée sur le principe de base du dernier entré, premier sorti. Outre les opérations push pop de base, cette classe fournit également des fonctions vide, d'aperçu et de recherche. Et peut également être appelé sous-classe de Vector.

Syntaxe :

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

Interface de file d'attente

Cette interface maintient l'ordre Premier entré, premier sorti, qui est similaire à la file d'attente. Il est dédié au stockage de tous les éléments pour lesquels l’ordre des éléments est important. Il se compose également de diverses classes telles que Deque, Priority Queue, Array Queue, etc. Étant donné que toutes les sous-classes implémentent la file d'attente, l'utilisateur peut instancier des objets de file d'attente.

Syntaxe :

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

File d'attente prioritaire

Il est utilisé lorsque les objets sont censés être traités en fonction de leur priorité, c'est-à-dire en fonction d'un tas prioritaire. Les éléments de la file d'attente prioritaire sont classés selon l'ordre naturel ou à l'aide de Comparator. La syntaxe est donnée ci-dessus.

File d'attente du tableau

Cette classe est implémentée dans le framework et permet à l'utilisateur d'avoir un tableau redimensionnable. Il s'agit de l'un des types spéciaux de tableaux qui permet aux utilisateurs de supprimer ou d'ajouter des éléments des deux côtés de la file d'attente. Il n’a aucune restriction et s’agrandira si nécessaire. La syntaxe est indiquée ci-dessus.

Interface Deque

Cette interface est une légère variation de la structure des données de la file d'attente. Elle est également connue sous le nom de file d'attente à double extrémité, car des éléments peuvent être ajoutés et supprimés des deux extrémités. Cette interface instancie la classe ArrayDeque.

Syntaxe :

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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Ignorer la liste JavaArticle suivant:Ignorer la liste Java