Normalement, les files d'attente suivent le principe du premier entré, premier sorti (FIFO), mais PriorityQueue Une approche basée sur les priorités est suivie lors de l’accès aux éléments de manière prioritaire. chaque élément de la file d'attente Est associé à une priorité. Les éléments sont hiérarchisés selon leur ordre naturel commande Nous pouvons cependant vous proposer des commandes personnalisées à l'aide d'un comparateur. Les PriorityQueue ne sont pas réellement triées, elles sont uniquement récupérées dans l'ordre trié. Cette fonctionnalité. nous permet de modifier facilement un élément de PriorityQueue.
Avant de démarrer le programme, comprenons d'abord plusieurs méthodes intégrées de PriorityQueue -
add() - Il est utilisé pour ajouter un seul élément à la file d'attente
offer() - Il insère également l'élément donné dans la file d'attente.
peek() − utilisé pour récupérer le premier élément de la file d'attente.
remove() - Il est utilisé pour supprimer l'élément spécifié de la file d'attente.
Définissez un objet de collection PriorityQueue et utilisez la méthode 'add()' pour stocker certains éléments
Maintenant, en utilisant la méthode 'peek()', affichez le premier élément de la file d'attente, puis supprimez-le Supprimez des éléments de la file d'attente à l'aide de la méthode 'remove()'
Allez plus loin et insérez un nouvel élément à la même position à l'aide des méthodes intégrées
Affichez à nouveau le premier élément modifié.
Dans l'exemple suivant, nous allons modifier un élément de PriorityQueue. Les éléments sont.
Il n'y a pas de priorité pour les comparateurs, ce qui signifie qu'ils seront accessibles par ordre croissant.
import java.util.*; public class Modify { public static void main(String[] args) { PriorityQueue<Integer> queuePq = new PriorityQueue<>(); // inserting elements queuePq.add(7); queuePq.add(9); queuePq.add(2); queuePq.add(4); queuePq.add(3); System.out.println("Original Queue: " + queuePq); int head1 = queuePq.peek(); // accessing first element System.out.println("The first element in Queue: " + head1); queuePq.remove(2); // removing first element queuePq.offer(1); // adding new element at first position int head2 = queuePq.peek(); // accessing first element System.out.println("The updated first element in Queue: " + head2); queuePq.offer(2); // adding new element at first position System.out.println("Newly updated Queue: " + queuePq); } }
Original Queue: [2, 3, 7, 9, 4] The first element in Queue: 2 The updated first element in Queue: 1 Newly updated Queue: [1, 3, 2, 9, 4, 7]
Définissez un objet de la collection PriorityQueue à l'aide d'une méthode intégrée appelée 'Collections.reverseOrder()' est utilisé pour stocker les éléments par ordre décroissant.
Maintenant, suivez les mêmes étapes décrites dans l'exemple précédent.
Dans l'exemple suivant, nous allons modifier un élément de PriorityQueue. Les éléments sont. Utilisez un comparateur pour la priorisation afin de fournir un accès par ordre décroissant.
import java.util.*; public class Modify { public static void main(String[] args) { PriorityQueue<Integer> queuePq = new PriorityQueue<>(Collections.reverseOrder()); // inserting elements queuePq.add(7); queuePq.add(9); queuePq.add(2); queuePq.add(1); queuePq.add(3); System.out.println("Original Queue: " + queuePq); int head1 = queuePq.peek(); // accessing first element System.out.println("The first element in Queue: " + head1); queuePq.remove(9); // removing first element queuePq.offer(8); // adding new element at first position int head2 = queuePq.peek(); // accessing first element System.out.println("The updated first element in Queue: " + head2); queuePq.offer(9); // adding new element at first position System.out.println("Newly updated Queue: " + queuePq); } }
Original Queue: [9, 7, 2, 1, 3] The first element in Queue: 9 The updated first element in Queue: 8 Newly updated Queue: [9, 7, 8, 1, 3, 2]
Nous commençons cet article en définissant la classe PriorityQueue de Java Collection Framework Implémentez le contenu de l’interface Queue. Dans la section suivante, nous aborderons certains des éléments intégrés Méthode utilisée dans le programme Java pour modifier des éléments dans une PriorityQueue donnée
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!