Maison >Java >javaDidacticiel >Explication détaillée des exemples de méthodes pour trier les éléments de liste en Java

Explication détaillée des exemples de méthodes pour trier les éléments de liste en Java

怪我咯
怪我咯original
2017-07-02 10:22:561532parcourir

Cet article présente principalement l'explication détaillée de la méthode de tri des éléments de liste en Java. C'est la connaissance de base pour apprendre Premiers pas avec Java Les amis qui en ont besoin peuvent se référer à

dans Java Collection Les implémentations de List définies dans le Framework incluent Vector, ArrayList et LinkedList. Ces collections fournissent un accès

indexé à des groupes d'objets. Ils prennent en charge l'ajout et la suppression de éléments. Cependant, ils ne disposent pas de support intégré pour le tri des éléments. Vous pouvez trier les éléments de la liste à l'aide de la méthode sort() dans la classe java.util.Collections. Vous pouvez transmettre un objet List à la méthode, ou vous pouvez transmettre un List et un Comparator. Si les éléments de la liste sont tous du même type et que la classe implémente l'interface Comparable, vous pouvez simplement appeler Collections.sort(). Si cette classe n'implémente pas Comparator, vous pouvez également transmettre un Comparator à la méthode sort() pour le tri. Si vous ne souhaitez pas utiliser l'ordre de tri par défaut, vous pouvez également transmettre un Comparator à la méthode sort() pour trier.

1. L'objet comparé implémente l'interface Comparable

public class Student implements Comparable { 
 private int id; 
 private int age; 
 private String name; 
 public Student(int id){ 
  this.id=id; 
 } 
 public int getId() { 
  return id; 
 } 
 
 public void setId(int id) { 
  this.id = id; 
 } 
 
 public int getAge() { 
  return age; 
 } 
 
 public void setAge(int age) { 
  this.age = age; 
 } 
 
 public String getName() { 
  return name; 
 } 
 
 public void setName(String name) { 
  this.name = name; 
 } 
 
  
  
 public static void main(String args[]){ 
  List<Student> list=new ArrayList<Student>(); 
  for(int i=1000;i>0;i--){ 
   list.add(new Student(i)); 
  } 
   
  Collections.sort(list); 
  for(Student s: list){ 
   System.out.println(s.getId()); 
  } 
 } 
 
 public int compareTo(Object o) { 
  if(o instanceof Student){ 
   Student s=(Student)o; 
   if(this.id>s.id){ 
    return 1; 
   } 
   else{ 
    return 0; 
   } 
  } 
  return -1; 
 } 
 
}

2. Utiliser Collections.sort(Object o, Comparator c)

public class JiaMenuComparator implements Comparator{ 
 
 public int compare(Object o1, Object o2) { 
  if(null!=o1&&null!=o2) 
  { 
   JiaMenu menu1=(JiaMenu)o1; 
   JiaMenu menu2=(JiaMenu)o2; 
   if(menu1.getId()<menu2.getId()){ 
    return 1; 
   }else { 
    return 0; 
   } 
  } 
  return 0; 
 } 
  
}

3. Trier plusieurs attributs dans les éléments de la liste (à l'aide de commons-beanutils) commons-beanutils
Il y a un BeanComparator dans la bibliothèque de classes Classe qui peut être utilisé pour trier les JavaBeans. Mais cette classe ne peut trier qu’une seule propriété à la fois. Ce qui suit est un exemple d'utilisation de BeanComparator pour trier plusieurs propriétés de JavaBean. C'est très simple :

.

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