Quelle est la différence entre comparable et comparateur en Java

Table des matières:

Anonim

Les différence principale entre comparable et comparateur en Java est que comparable trie la collection en fonction d'un seul élément tandis que comparator trie la collection en fonction de plusieurs éléments.

Java est un langage de programmation généraliste de haut niveau qui permet de créer diverses applications telles que des systèmes distribués Web, de bureau, mobiles et hautes performances. De plus, l'un des principaux avantages de Java est qu'il prend en charge la programmation orientée objet (OOP). Le paradigme permet de créer des classes et des objets. La classe est une impression bleue pour créer des objets. De plus, il a des membres de données pour décrire les propriétés et les méthodes pour désigner les comportements. De plus, Java fournit diverses interfaces pour trier les objets à l'aide des données membres de la classe. Comparable et comparateur sont deux d'entre eux.

Comparable, Comparateur, Interface, Java

Ce qui est comparable en Java

L'interface de comparaison permet de comparer un objet avec un autre objet. La classe implémente l'interface java.lang.Comparable pour comparer ses instances. La première étape consiste à implémenter l'interface comparable avec la classe puis à redéfinir la méthode compareTo() de l'interface Comparable.

Figure 1: Classe d'élèves

Figure 2: Programme principal pour Comparable

Dans le programme ci-dessus, Student est une classe qui implémente l'interface Comparable. Plus important encore, la classe Student a trois membres de données: id, name et marks. Le constructeur aide à fournir les valeurs initiales aux membres de données. De plus, cette classe remplace la méthode compareTo. L'objet étudiant est passé à cette méthode. Ainsi, cette méthode renvoie 1, -1 ou 0 selon la comparaison.

Dans le programme principal, « al » est un objet de ArrayList. Les programmeurs peuvent insérer des objets Student dans cette ArrayList. La méthode sort trie les éléments. Enfin, la « boucle for » affiche les éléments sur la console.

Qu'est-ce que le comparateur Java

L'interface du comparateur est utilisée pour trier les éléments d'une liste à l'aide de différents comparateurs. Un exemple de programme est le suivant.

Figure 3: Comparateur de nom et de marque

Figure 4: Programme principal pour le comparateur

Dans le programme ci-dessus, Student est une classe qui implémente l'interface Comparable. De plus, la classe d'étudiants a trois membres de données: id, name et marks. Le constructeur aide à fournir des valeurs initiales aux membres de données. La classe MarkComparator implémente l'interface Comparator. Ainsi, il remplace la méthode de comparaison qui accepte deux objets Student. Selon la comparaison, la méthode compare renvoie 1, -1 ou 0.

De même, il existe une autre classe appelée AgeComparator qui implémente l'interface Comparator. Il remplace également la méthode de comparaison. De plus, cette méthode obtient deux objets étudiants. De plus, la méthode compare renvoie l'entier en fonction de la comparaison.

Dans le programme principal, « al » est un objet de ArrayList. Le programmeur peut insérer des objets Student dans cette ArrayList, comme à la ligne 34, 35 et 36. De plus, à la ligne 38, les éléments sont comparés selon le nom. La « boucle for » affiche les éléments à l'écran. A la ligne 43, les éléments sont comparés selon la marque. Ensuite, la prochaine « boucle for » affiche les éléments à l'écran.

Différence entre comparable et comparateur en Java

Définition

Comparable est une interface en Java utilisée pour ordonner les objets de la classe définie par l'utilisateur qui fournit des séquences de tri uniques tandis que Comparator est une interface en Java utilisée pour ordonner les objets d'une classe définie par l'utilisateur qui fournit plusieurs séquences de tri. Ainsi, cela explique la principale différence entre Comparable et Comparator en Java.

Trier les éléments

De plus, Comparable fournit la méthode compareTo () pour trier les éléments, tandis que Comparator fournit la méthode compare () pour trier les éléments. Par conséquent, il s'agit également d'une différence entre Comparable et Comparator en Java.

Syntaxe à trier

Une autre différence entre Comparable et Comparator en Java est que la syntaxe à trier dans Comparable est Collections.sort(List) tandis que la syntaxe à trier dans Comparator est Collections.sort(List, Comparator)

Conclusion

En bref, Comparable et Comparator sont deux interfaces pour trier des objets à l'aide des données membres de la classe. La principale différence entre Comparable et Comparator en Java réside dans le fait que Comparable trie la collection en fonction d'un seul élément, tandis que Comparator trie la collection en fonction de plusieurs éléments.

Référence:

1. "Comparable Java - Javatpoint". Www.javatpoint.com, disponible ici.2. "Comparateur Java - Javatpoint." Www.javatpoint.com, disponible ici.

Quelle est la différence entre comparable et comparateur en Java