Maison  >  Article  >  Java  >  Comment effectuer des opérations deque à l'aide des fonctions addFirst et addLast de Deque en Java

Comment effectuer des opérations deque à l'aide des fonctions addFirst et addLast de Deque en Java

WBOY
WBOYoriginal
2023-06-26 19:06:011249parcourir

Une file d'attente à double extrémité est une structure de données qui permet d'ajouter et de supprimer des éléments aux deux extrémités de la file d'attente. En Java, l'interface Deque assure l'implémentation de cette structure de données. Deque est une interface qui a plusieurs implémentations, notamment ArrayDeque et LinkedList. Dans cet article, nous explorerons comment effectuer des opérations deque à l'aide des fonctions addFirst et addLast de Deque en Java.

Tout d'abord, nous devons comprendre le fonctionnement de base de Deque. L'interface Deque définit de nombreuses méthodes, notamment l'ajout d'éléments, la suppression d'éléments, l'obtention d'éléments de tête et de queue, etc. Parmi elles, les fonctions addFirst et addLast sont des fonctions utilisées pour ajouter des éléments aux deux extrémités de la file d'attente. La fonction

addFirst est utilisée pour ajouter des éléments en tête de file d'attente. Par exemple, nous pouvons créer un nouvel objet Deque et ajouter des éléments en tête de file d'attente à l'aide de la fonction addFirst :

Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(1);
deque.addFirst(2);
deque.addFirst(3);

System.out.println(deque); //[3, 2, 1]

Dans le code ci-dessus, nous créons un nouvel objet ArrayDeque et ajoutons trois éléments en tête de file d'attente à l'aide de la fonction fonction addFirst. Enfin, nous imprimons toute la file d'attente et le résultat est [3, 2, 1]. Comme vous pouvez le constater, les éléments sont disposés à partir de la tête dans l'ordre dans lequel ils ont été ajoutés. La fonction

addLast est utilisée pour ajouter des éléments à la fin de la file d'attente. Par exemple, nous pouvons continuer à utiliser l'objet Deque ci-dessus et utiliser la fonction addLast pour ajouter des éléments à la fin de la file d'attente :

deque.addLast(4);
deque.addLast(5);
deque.addLast(6);

System.out.println(deque); //[3, 2, 1, 4, 5, 6]

Dans le code ci-dessus, nous utilisons la fonction addLast pour ajouter trois éléments entiers à la fin de la file d'attente. file d'attente. Enfin, nous imprimons à nouveau toute la file d'attente et le résultat est [3, 2, 1, 4, 5, 6]. Comme vous pouvez le constater, les éléments nouvellement ajoutés sont disposés à la fin de la file d’attente dans l’ordre.

En plus d'utiliser les fonctions addFirst et addLast pour les opérations d'addition, Deque fournit également d'autres fonctions pour supprimer des éléments, obtenir des éléments de tête et de queue et d'autres opérations. Par exemple, les fonctions RemoveFirst et RemoveLast peuvent supprimer des éléments de la tête et de la queue respectivement. Les fonctions getFirst et getLast peuvent obtenir respectivement les éléments head et tail. Si la file d'attente est vide, ces fonctions lanceront NoSuchElementException.

Lorsque vous utilisez Deque, vous devez faire attention à certains problèmes. Premièrement, puisque Deque est une interface, il ne peut pas être instancié directement. Par conséquent, vous devez choisir une classe d'implémentation en fonction de besoins spécifiques, comme ArrayDeque ou LinkedList. Deuxièmement, Deque est thread-unsafe. Si vous utilisez Deque dans un environnement multithread, des mesures doivent être prises pour éviter les conditions de concurrence et les blocages. Enfin, lorsque vous utilisez Deque pour des opérations d'ajout et de suppression, vous devez déterminer si la file d'attente est pleine ou vide pour éviter les exceptions et les résultats erronés.

En bref, Deque en Java fournit une structure de données de file d'attente à double extrémité pratique. Utilisez les fonctions addFirst et addLast de Deque pour ajouter facilement des éléments aux deux extrémités de la file d'attente. Lorsque vous utilisez Deque, vous devez également faire attention à des problèmes tels que la sécurité des threads et la gestion des exceptions. En maîtrisant ces opérations de base, vous pourrez mieux utiliser Deque pour implémenter une file d'attente à double extrémité.

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