Maison  >  Article  >  Java  >  Trouver la position de l'élément dans Java TreeMap

Trouver la position de l'élément dans Java TreeMap

王林
王林avant
2023-08-24 17:05:021068parcourir

在Java TreeMap中查找元素的位置

En Java, la classe TreeMap fournit un moyen efficace de stocker des paires clé-valeur de manière ordonnée. Parfois, nous pouvons avoir besoin de connaître la position d'un élément spécifique dans un TreeMap. Dans cet article, nous explorerons différentes manières d'accomplir cette tâche. Nous discuterons de la syntaxe, des algorithmes et fournirons des exemples de code exécutable pour chaque méthode.

Grammaire

Pour trouver la position d'un élément dans Java TreeMap nous pouvons utiliser la syntaxe suivante -

int position = Collections.binarySearch(treeMap.values(), element);

Explication de la grammaire

La stratégie Collections.binarySearch() est utilisée pour effectuer une recherche binaire sur des listes triées. Dans notre cas, nous transmettons la valeur du TreeMap à la stratégie et passons le composant où nous devons trouver l'emplacement. La stratégie renvoie la position du composant si le composant est trouvé dans la liste, sinon elle renvoie une valeur négative.

Méthode 1 : utilisez binaireSearch()

Algorithme

  • Utilisez la méthode Values() pour obtenir les valeurs de TreeMap.

  • Utilisez Collections.binarySearch() pour effectuer une recherche binaire sur une valeur.

  • Stockez le résultat dans une variable appelée position.

  • Si la position est supérieure ou égale à 0, l'élément est trouvé. Sinon, ce n'est pas dans le TreeMap.

Exemple

import java.util.Collections;
import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Banana";

      int position = Collections.binarySearch(treeMap.values(), element);

      if (position >= 0) {
         System.out.println("Element found at position: " + (position + 1));
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Explication

Dans cette méthode, nous créons un TreeMap et le remplissons de quelques paires clé-valeur. Ensuite, nous définissons l'élément que nous recherchons, en l'occurrence "Banane". Utilisez la méthode Collections.binarySearch() pour rechercher des éléments dans les valeurs d'un TreeMap. Si l'élément est trouvé, on imprime sa position en ajoutant 1 à la variable position. Sinon, nous montrons que l’élément n’est pas affiché dans le TreeMap.

Méthode 2 : utilisez les méthodes keySet() et get() de TreeMap

Algorithme

  • Utilisez la méthode keySet() pour obtenir keySet de TreeMap.

  • Parcourir les clés.

  • Vérifiez si la valeur associée à chaque clé est égale à l'élément que nous recherchons.

  • Si une correspondance est trouvée, la clé correspondante est stockée dans une variable appelée position.

  • Si la position n'est pas vide, cela signifie que l'élément a été trouvé. Sinon, il n'existe pas dans le TreeMap.

Exemple

import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Banana";
      Integer position = null;

      for (Integer key : treeMap.keySet()) {
         if (treeMap.get(key).equals(element)) {
            position = key;
            break;
         }
      }

      if (position != null) {
         System.out.println("Element found at position: " + position);
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Sortie

Element found at position: 2

Explication

Dans cette méthode, nous créons à nouveau un TreeMap et le remplissons de paires clé-valeur. Nous décrivons le composant que nous devons trouver, en l'occurrence "Banana". Nous utilisons ensuite une boucle for-each pour parcourir les clés et vérifier si la valeur associée à chaque clé correspond à l'élément que nous recherchons. Si une correspondance est trouvée, nous stockons la clé correspondante dans la variable position. Enfin, nous vérifions si la position est invalide pour déterminer si l'élément est affiché dans le TreeMap.

Méthode 3 : Utilisez les méthodes EntrySet() et getValue() de TreeMap

Algorithme

  • Utilisez la méthode EntrySet() pour obtenir le EntrySet à partir du TreeMap.

  • Parcourez les entrées.

  • Vérifiez si la valeur de chaque entrée est égale à l'élément que nous recherchons.

  • Si une correspondance est trouvée, la clé correspondante est stockée dans une variable appelée position.

  • Si la position n'est pas vide, cela signifie que l'élément a été trouvé. Sinon, il n’existe pas dans le TreeMap.

Exemple

import java.util.Map;
import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Banana";
      Integer position = null;

      for (Map.Entry<Integer, String> entry : treeMap.entrySet()) {
         if (entry.getValue().equals(element)) {
            position = entry.getKey();
            break;
         }
      }

      if (position != null) {
         System.out.println("Element found at position: " + position);
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Sortie

Element found at position: 2

Explication

Semblable à la deuxième méthode, nous créons un TreeMap, le remplissons et décrivons les composants que nous devons découvrir. Nous utilisons ensuite une boucle for-each pour mettre en évidence les entrées du TreeMap et vérifier si la valeur de chaque entrée correspond au composant. Si une correspondance est trouvée, nous stockons la clé correspondante dans la variable position. Enfin, nous vérifions si la position est invalide pour déterminer si le composant est affiché dans le TreeMap.

Méthode 4 : utilisez la méthode Values() et indexOf() de TreeMap

Algorithme

  • Utilisez la méthode Values() pour obtenir les valeurs de TreeMap.

  • Trouvez l'index d'un élément à l'aide de la méthode indexOf().

  • Si l'index est supérieur ou égal à 0, cela signifie que l'élément a été trouvé. Sinon, ce n'est pas dans le TreeMap.

Exemple

import java.util.ArrayList;
import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Mango";

      ArrayList<String> values = new ArrayList<>(treeMap.values());
      int position = values.indexOf(element);

      if (position >= 0) {
         System.out.println("Element found at position: " + (position + 1));
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Sortie

Element found at position: 4

Explication

Dans cette méthode, nous créons d'abord un TreeMap et le remplissons. Nous décrivons le composant qu'il nous faut découvrir, ici "Banana". Ensuite, nous utilisons la méthode values() pour créer une ArrayList contenant les valeurs TreeMap. On retrouve l'index du composant dans l'ArrayList à l'aide de la méthode indexOf(). Si l'index est supérieur ou égal à 0, nous imprimons la position du composant. Dans le cas contraire, nous indiquons que l'élément n'est pas affiché dans le TreeMap.

Conclusion

Dans cet article, nous avons exploré différentes manières de trouver la position d'un élément dans un Java TreeMap. Nous examinons les constructions du langage, les calculs et fournissons des exemples de code exécutable pour chaque approche. En fonction de vos besoins et préférences spécifiques, vous pouvez choisir la méthode qui correspond le mieux à vos besoins. Le cours TreeMap en Java fournit un moyen puissant et efficace de stocker et de manipuler des données triées, vous permettant d'effectuer facilement diverses opérations.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer