Maison > Java > javaDidacticiel > Comment modifier des éléments de PriorityQueue en Java ?

Comment modifier des éléments de PriorityQueue en Java ?

PHPz
Libérer: 2023-08-26 10:13:23
avant
1462 Les gens l'ont consulté

Comment modifier des éléments de PriorityQueue en Java ?

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.

Programme Java pour modifier un élément d'une ProrityQueue

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.

Approche 1

  • Définissez un objet de collection PriorityQueue et utilisez la méthode 'add()' pour stocker certains éléments

  • méthode.
  • 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

  • 'offre()'.
  • Affichez à nouveau le premier élément modifié.

La traduction chinoise de

Exemple

est :

Exemple

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);
   }
}
Copier après la connexion

Sortie

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]
Copier après la connexion

Méthode 2

  • 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.

La traduction chinoise de

Exemple

est :

Exemple

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);
   }
}     
Copier après la connexion

Sortie

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]
Copier après la connexion

Conclusion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal