Une liste chaînée est l'un des principaux types de structures de données dans le monde de la programmation . Il s'agit d'un arrangement de nœuds qui contient à la fois des données et des références pointant vers le nœud suivant. Pour trier une liste liée à Java , il ya une classe de liste chaînée qui fonctionne avec le cadre des collections qui met en œuvre des algorithmes comme le tri . Instructions
Trier une liste liée à Java
1
déclarer la liste chaînée en créant un nouvel objet LinkedList et l'assigner à une variable LinkedList . LinkedList hérite de la classe de liste générique, de sorte que toute méthode qui accepte une liste acceptera également un objet LinkedList . "" LinkedList l = new LinkedList (); ""
2
ajouter des objets du même type ( tels que des entiers ) à la liste. Ceux-ci peuvent être des objets de tout type, mais permet de trier une liste chaînée , ils devraient être du même type .
3
utiliser la méthode List.addFirst pour insérer de nouveaux objets à le début de la liste , de sorte que tous les objets qui vous ajoutez sera dans l'ordre inverse . Si vous souhaitez les ajouter à la fin de la liste , utilisez la méthode de List.addLast "" list.addFirst (1); list.addFirst (3); list.addFirst (2); " . "
4
Utilisez un Iterator pour parcourir la liste et imprimez-les avant et après pour voir ce que la méthode de tri est fait. "" for (Iterator i = list.iterator (); i.hasNext (); ) {System.out.println ( i.next ()); } ""
trier par défaut et coutume comparateurs
5
Trier la liste avec le comparateur de défaut. Un comparateur est un objet qui compare deux objets . L'objet de comparaison par défaut utilise le moins de l'opérateur , la liste sera triée dans l'ordre croissant . Pour trier la liste , utilisez la méthode statique Collections.sort "" Collections.sort ( liste) ; " . "
6
Trier la liste avec un comparateur personnalisé en écrivant une classe qui implémente l'interface de comparaison et lui transmet une instance comme argument à trier. La classe qui implémente comparateur ne doit mettre en œuvre la méthode single " comparer ". "" public class GreaterThan implémente Comparator {@ Overridepublic int compare ( Object arg0 , arg1 Object ) {int x = ( Integer) arg0 , int y = (entier) arg1 ; if ( > y x ) {return -1; } else if ( x == y ) {return 0; } else { return 1; }} } ""
7
utiliser l'appel à Collections.sort en passant une nouvelle instance de GreaterThan comme second argument . Comme les objets qui sont supérieures seront triés première , la liste sera triée dans l'ordre décroissant au lieu de l'ordre croissant. Comme alternative, si vous triez une liste d'objets d'une classe personnalisée que vous avez vous-même écrit , cette classe peut implémenter l'interface Comparable au lieu d'utiliser une classe de comparateur indépendant. "" Collections.sort (liste, nouvelle GreaterThan () ) ; ""