TreeSet est une classe de Java Collection Framework qui implémente l'interface SortedSet. Il stocke les éléments par ordre croissant et n'autorise pas les valeurs en double, ce qui rend les temps d'accès et de récupération plus rapides. En raison de cette excellente fonctionnalité, les TreeSets sont souvent utilisés pour stocker de grandes quantités d’informations qui doivent être recherchées rapidement. Nous utiliserons l'interface Comparable pour trier un TreeSet donné, puis, à l'aide de méthodes intégrées, essaierons d'obtenir les éléments de valeur la plus élevée et la plus basse de ce TreeSet.
Avant d'entrer dans le programme, familiarisons-nous d'abord avec quelques concepts
Cette interface est utile lorsque nous souhaitons trier des objets personnalisés dans leur ordre naturel. Par exemple, il trie les chaînes lexicographiquement et les nombres numériquement. Cette interface est disponible dans le package "java.lang". De manière générale, les classes et interfaces définies dans ce package sont disponibles par défaut, il n'est donc pas nécessaire d'importer explicitement ce package.
class nameOfclass implements Comparable<nameOfclass>
Ici, class est le mot-clé pour créer une classe, et Implements est le mot-clé qui permet d'utiliser les fonctions fournies par l'interface.
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. 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.
compareTo(nameOfclass nameOfobject);
Les deux méthodes sont utilisées avec les objets TreeSet et ne prennent aucun paramètre. La méthode 'last()' renvoie l'élément de fin du TreeSet spécifié et la méthode 'first()' renvoie l'élément à la première position. Puisqu'un TreeSet stocke ses éléments par ordre croissant, le dernier élément est considéré comme l'élément de valeur la plus élevée et vice versa comme l'élément de valeur la plus faible.
Tout d'abord, importez le package « java.util » pour que nous puissions utiliser TreeSet
Créez une classe "Cart" qui implémente une interface comparable. Dans celui-ci, déclarez deux variables et définissez le constructeur de la classe et les deux paramètres "item" et "price" de type chaîne et entier respectivement.
Définissez la méthode "compareTo" avec un objet de la classe "Cart" comme paramètre pour comparer l'objet "this" avec l'objet nouvellement créé.
Maintenant, dans la méthode main(), déclarez un objet nommé « trSet » de la classe « Cart » de type de collection TreeSet et stockez les détails de l'objet dans la collection à l'aide de la méthode intégrée nommée « add() ».
Enfin, appelez les méthodes intégrées "last()" et "first()" pour obtenir respectivement les valeurs les plus élevées et les plus basses.
L'exemple suivant montre comment trouver les éléments de valeur la plus élevée et la plus basse d'un TreeSet.
import java.util.*; public class Cart implements Comparable <Cart> { String item; int price; Cart(String item, int price) { // constructor // this keyword shows these variables belong to constructor this.item = item; this.price = price; } // overriding method public int compareTo(Cart comp) { if(this.price > comp.price) { // performing comparison return 1; } else { return -1; } } public String toString() { return "Item: " + this.item + ", Price: " + this.price; } public static void main(String[] args) { // Declaring collection TreeSet TreeSet <Cart> trSet = new TreeSet <Cart>(); // Adding object to the collection trSet.add(new Cart("Rice", 59)); trSet.add(new Cart("Milk", 60)); trSet.add(new Cart("Bread", 45)); trSet.add(new Cart("Peanut", 230)); trSet.add(new Cart("Butter", 55)); // to print the objects for (Cart print : trSet) { System.out.println("Item: " + print.item + ", " + "Price: " + print.price); } // calling in-built methods to print required results System.out.println("Element having highest value: " + trSet.last()); System.out.println("Element having lowest value: " + trSet.first()); } }
Item: Bread, Price: 45 Item: Butter, Price: 55 Item: Rice, Price: 59 Item: Milk, Price: 60 Item: Peanut, Price: 230 Element having highest value: Item: Peanut, Price: 230 Element having lowest value: Item: Bread, Price: 45
Nous avons d'abord défini la classe TreeSet de Java Collection Framework et dans la section suivante, nous avons trouvé l'interface Comparable et quelques méthodes intégrées qui nous aident à obtenir les éléments de valeur la plus élevée et la plus basse de l'ensemble en utilisant la logique de tri sur le TreeSet.
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!