Table des matières
Programme pour trier LinkedHashMap par valeur
LinkedHashMap
Grammaire
Interface similaire
Méthode compareTo()
Méthode Collections.sort()
Algorithme
Exemple
Sortie
Conclusion
Maison Java javaDidacticiel Tri de LinkedHashMap par valeur à l'aide de l'interface comparable en Java

Tri de LinkedHashMap par valeur à l'aide de l'interface comparable en Java

Aug 26, 2023 am 09:53 AM
排序 java comparable sortedmap

Tri de LinkedHashMap par valeur à laide de linterface comparable en Java

LinkedHashMap est une classe générale utilisée pour implémenter l'interface Map. De plus, il s'agit d'une sous-classe de la classe HashMap, elle peut donc utiliser toutes les méthodes de la classe HashMap et effectuer des opérations similaires.

Java fournit plusieurs méthodes pour trier LinkedHashMap, nous apprendrons comment le créer à l'aide de l'interface Comparable et le trier par sa valeur à travers cet article.

Programme pour trier LinkedHashMap par valeur

Avant de passer directement au processus de tri, examinons quelques concepts -

LinkedHashMap

Comme nous en avons discuté précédemment, la classe LinkedHashMap étend la classe HashMap pour implémenter l'interface Map. Il maintient les paires clé-valeur. La clé est un objet utilisé pour obtenir et recevoir la valeur qui lui est associée. Il stocke les éléments mappés dans la LinkedList dans l'ordre d'insertion, c'est-à-dire qu'il conserve l'ordre d'insertion des éléments. De plus, chaque fois que nous renvoyons ses éléments, il est imprimé dans l'ordre d'insertion.

La syntaxe générale de LinkedHashMap est la suivante -

Grammaire

LinkedHashMap< TypeOfKey, TypeOfValue > nameOfMap = new LinkedHashMap<>();
Copier après la connexion

Dans la syntaxe ci-dessus,

TypeOfKey - spécifie le type de données de la clé.

TypeOfValue - Spécifie le type de données de la valeur à stocker dans la carte.

nameOfMap - Donnez à votre carte un nom approprié.

Interface similaire

Java fournit une variété d'algorithmes et de méthodes de tri qui peuvent nous aider à trier des tableaux, des listes ou toute autre collection. L'interface comparable est une méthode supplémentaire très utile lorsque nous souhaitons trier des objets personnalisés dans l'ordre naturel. Par exemple, il trie les chaînes lexicographiquement et les nombres numériquement. Cette interface est disponible dans le package "java.lang".

Grammaire

class nameOfclass implements Comparable<nameOfclass>
Copier après la connexion

Méthode compareTo()

L'interface Comparable définit uniquement une méthode appelée "CompareTo" qui peut être remplacée pour trier une collection d'objets. Il offre la possibilité de comparer les objets d’une classe avec elle-même. Il renvoie 0 lorsque l'objet "this" est égal à l'objet passé, une valeur positive si l'objet "this" est supérieur et une valeur négative dans le cas contraire.

Grammaire

compareTo(nameOfclass nameOfobject); 
Copier après la connexion

Méthode Collections.sort()

La classe "Collections" de l'interface de collection fournit une méthode statique nommée "Collections.sort()" qui peut trier les éléments d'une collection spécifiée (telle que ArrayList ou LinkedList). Il est disponible dans le package "java.util".

Grammaire

Collections.sort(nameOfcollection);
Copier après la connexion

Algorithme

  • Étape 1 - Créez une classe 'Cart' qui implémente l'interface Comparable. A l'intérieur de la classe, déclarez deux variables et définissez un constructeur qui prend deux paramètres 'item' et 'price', de type string et float double précision respectivement.

  • Étape 2 - De plus, nous convertirons les données de l'objet en une chaîne à l'aide de la méthode « toString() ». Ensuite, définissez la méthode "compareTo" avec un objet de la classe "Cart" en paramètre pour comparer l'objet "this" avec l'objet nouvellement créé.

  • Étape 3 - Maintenant, dans la méthode main(), déclarez un objet 'Cart' de la classe LinkedHashMap nommé 'obj' et mettez les détails de l'objet à l'aide de la méthode intégrée nommée 'put()' qui y est stockée. « article » est la clé et sa valeur correspondante est « prix ».

  • Étape 4 - Enfin, définissez une collection ArrayList nommée "SrtList" pour stocker les éléments triés du LinkedHashMap. Maintenant, passez "obj" comme paramètre à la méthode "Collections.sort()" pour effectuer une opération de tri par valeur.

Exemple

import java.util.*;
import java.lang.*;
public class Cart implements Comparable<Cart> {
   String item;
   double price;
   Cart(String item, double price) {
      // this keyword shows these variables belongs to constructor
      this.item = item; 
      this.price = price;
   }
   // method for converting object into string
   public String toString() {
      return "Item: " + item + ", " + "Price: " + price;
   }
   public String getName() { 
      // to retrieve item name
      return this.item;
   }
   // overriding method
   public int compareTo(Cart comp) {
      if(this.price > comp.price) {
         return 1;
      } else {
         return -1;
      }
   }
   public static void main(String[] args) {
      // Declaring collection LinkedHashMap
      LinkedHashMap<String, Cart> obj = new LinkedHashMap<>();
      // Adding object to the obj map
      Cart obj1 = new Cart("Rice", 59);
      obj.put(obj1.getName(), obj1);
      Cart obj2 = new Cart("Milk", 60);
      obj.put(obj2.getName(), obj2);
      Cart obj3 = new Cart("Bread", 45);
      obj.put(obj3.getName(), obj3);
       // printing details obj map in unsorted order
      System.out.println("Elements of the map: ");
      for (String unKey : obj.keySet()) {
         System.out.println(obj.get(unKey));
      }
      List<Cart> SrtList = new ArrayList<>(obj.values());
      Collections.sort(SrtList); 
      // Sorting the object
      // printing details of obj map in sorted order
      System.out.println("Elements of the newly sorted map: ");
      System.out.println(SrtList);
   }
}

Copier après la connexion

Sortie

Elements of the map: 
Item: Rice, Price: 59.0
Item: Milk, Price: 60.0
Item: Bread, Price: 45.0
Elements of the newly sorted map: 
[Item: Bread, Price: 45.0, Item: Rice, Price: 59.0, Item: Milk, Price: 60.0]
Copier après la connexion

Conclusion

Dans la version Java 1.0, une interface similaire a été introduite pour la première fois et fournie dans le package "java.lang". Dans cet article, nous avons exploré l'utilisation de LinkedHashMap et de l'interface Comparable dans les opérations de tri.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment trier les photos par date prise sous Windows 11/10 Comment trier les photos par date prise sous Windows 11/10 Feb 19, 2024 pm 08:45 PM

Cet article explique comment trier les images en fonction de la date de prise de vue dans Windows 11/10 et explique également ce qu'il faut faire si Windows ne trie pas les images par date. Dans les systèmes Windows, organiser correctement les photos est crucial pour faciliter la recherche des fichiers image. Les utilisateurs peuvent gérer des dossiers contenant des photos en fonction de différentes méthodes de tri telles que la date, la taille et le nom. De plus, vous pouvez définir l'ordre croissant ou décroissant selon vos besoins pour organiser les fichiers de manière plus flexible. Comment trier les photos par date de prise sous Windows 11/10 Pour trier les photos par date de prise sous Windows, procédez comme suit : Ouvrez Images, Bureau ou tout dossier dans lequel vous placez des photos. Dans le menu du ruban, cliquez sur

Comment trier les e-mails par expéditeur, sujet, date, catégorie, taille dans Outlook Comment trier les e-mails par expéditeur, sujet, date, catégorie, taille dans Outlook Feb 19, 2024 am 10:48 AM

Outlook propose de nombreux paramètres et fonctionnalités pour vous aider à gérer votre travail plus efficacement. L’une d’elles est l’option de tri qui vous permet de classer vos emails en fonction de vos besoins. Dans ce didacticiel, nous allons apprendre à utiliser la fonction de tri d'Outlook pour organiser les e-mails en fonction de critères tels que l'expéditeur, l'objet, la date, la catégorie ou la taille. Cela vous permettra de traiter et de trouver plus facilement des informations importantes, ce qui vous rendra plus productif. Microsoft Outlook est une application puissante qui facilite la gestion centralisée de vos plannings de messagerie et de calendrier. Vous pouvez facilement envoyer, recevoir et organiser des e-mails, tandis que la fonctionnalité de calendrier intégrée facilite le suivi de vos événements et rendez-vous à venir. Comment être dans Outloo

Filtrage et tri des données XML à l'aide de Python Filtrage et tri des données XML à l'aide de Python Aug 07, 2023 pm 04:17 PM

Implémentation du filtrage et du tri des données XML à l'aide de Python Introduction : XML est un format d'échange de données couramment utilisé qui stocke les données sous forme de balises et d'attributs. Lors du traitement de données XML, nous devons souvent filtrer et trier les données. Python fournit de nombreux outils et bibliothèques utiles pour traiter les données XML. Cet article explique comment utiliser Python pour filtrer et trier les données XML. Lecture du fichier XML Avant de commencer, nous devons lire le fichier XML. Python possède de nombreuses bibliothèques de traitement XML,

Développement PHP : Comment implémenter les fonctions de tri et de pagination des données des tables Développement PHP : Comment implémenter les fonctions de tri et de pagination des données des tables Sep 20, 2023 am 11:28 AM

Développement PHP : comment implémenter des fonctions de tri et de pagination des données de table Dans le développement Web, le traitement de grandes quantités de données est une tâche courante. Pour les tableaux devant afficher une grande quantité de données, il est généralement nécessaire de mettre en œuvre des fonctions de tri et de pagination des données pour offrir une bonne expérience utilisateur et optimiser les performances du système. Cet article explique comment utiliser PHP pour implémenter les fonctions de tri et de pagination des données de table et donne des exemples de code spécifiques. La fonction de tri implémente la fonction de tri dans le tableau, permettant aux utilisateurs de trier par ordre croissant ou décroissant selon différents champs. Ce qui suit est un formulaire de mise en œuvre

Comment la méthode Arrays.sort() en Java trie-t-elle les tableaux par comparateur personnalisé ? Comment la méthode Arrays.sort() en Java trie-t-elle les tableaux par comparateur personnalisé ? Nov 18, 2023 am 11:36 AM

Comment la méthode Arrays.sort() en Java trie-t-elle les tableaux par comparateur personnalisé ? En Java, la méthode Arrays.sort() est une méthode très utile pour trier les tableaux. Par défaut, cette méthode trie par ordre croissant. Mais parfois, nous devons trier le tableau selon nos propres règles définies. À ce stade, vous devez utiliser un comparateur personnalisé (Comparator). Un comparateur personnalisé est une classe qui implémente l'interface Comparator.

Programme C++ : réorganiser la position des mots par ordre alphabétique Programme C++ : réorganiser la position des mots par ordre alphabétique Sep 01, 2023 pm 11:37 PM

Dans ce problème, une chaîne est donnée en entrée et nous devons trier les mots apparaissant dans la chaîne par ordre lexicographique. Pour ce faire, nous attribuons un index commençant à 1 à chaque mot de la chaîne (séparés par des espaces) et obtenons le résultat sous forme d'index triés. String={"Hello","World"}"Hello"=1 "World"=2 Puisque les mots dans la chaîne d'entrée sont dans l'ordre lexicographique, la sortie imprimera "12". Examinons quelques scénarios d'entrée/résultat - en supposant que tous les mots de la chaîne d'entrée sont identiques, regardons les résultats - Entrée :{"hello","hello","hello"}Résultat : 3 Résultat obtenu

Comment trier les scores WPS Comment trier les scores WPS Mar 20, 2024 am 11:28 AM

Dans notre travail, nous utilisons souvent le logiciel wps. Il existe de nombreuses façons de traiter les données dans le logiciel wps, et les fonctions sont également très puissantes. Nous utilisons souvent des fonctions pour trouver des moyennes, des résumés, etc. des méthodes qui peuvent être utilisées pour les données statistiques ont été préparées pour tout le monde dans la bibliothèque du logiciel WPS. Ci-dessous, nous présenterons les étapes à suivre pour trier les scores dans WPS. Après avoir lu ceci, vous pourrez tirer les leçons de cette expérience. 1. Ouvrez d’abord le tableau qui doit être classé. Comme indiqué ci-dessous. 2. Entrez ensuite la formule =rank(B2, B2 : B5, 0) et assurez-vous de saisir 0. Comme indiqué ci-dessous. 3. Après avoir saisi la formule, appuyez sur la touche F4 du clavier de l'ordinateur. Cette étape consiste à changer la référence relative en référence absolue.

Comment optimiser les performances de tri des collections et de déduplication dans le développement Java Comment optimiser les performances de tri des collections et de déduplication dans le développement Java Jul 02, 2023 am 11:25 AM

Dans le développement Java, le tri des collections et la déduplication sont des exigences courantes. Cependant, les performances deviennent souvent un problème lorsqu’il s’agit de grandes collections de données. Cet article présentera quelques techniques d'optimisation pour aider à améliorer les performances du tri des collections et de la déduplication. 1. Utilisez des structures de données appropriées En Java, les structures de données les plus couramment utilisées sont ArrayList et HashSet. ArrayList convient aux situations où l'ordre des éléments doit être conservé, tandis que HashSet convient aux situations où la duplication doit être éliminée. Dans les scénarios de tri et de déduplication, nous pouvons utiliser

See all articles