Heim > Java > javaLernprogramm > Hauptteil

Ausführliche Erläuterung von Methodenbeispielen zum Sortieren von Listenelementen in Java

怪我咯
Freigeben: 2017-07-02 10:22:56
Original
1516 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode zum Sortieren von Listenelementen in Java vorgestellt. Es handelt sich um das Grundwissen zum Erlernen von Erste Schritte mit Java > in Java Collection Zu den im Framework definierten Listenimplementierungen gehören Vector, ArrayList und LinkedList. Diese Sammlungen bieten einen

indizierten

Zugriff auf Gruppen von Objekten. Sie bieten Unterstützung für das Hinzufügen und Entfernen von Elementen. Sie verfügen jedoch nicht über eine integrierte Unterstützung zum Sortieren von Elementen. Sie können Listenelemente mit der Methode sort() in der Klasse java.util.Collections sortieren. Sie können der Methode ein List-Objekt oder eine List und einen Comparator übergeben. Wenn die Elemente in der Liste alle vom gleichen Typ sind und die Klasse die Comparable-Schnittstelle implementiert, können Sie einfach Collections.sort() aufrufen. Wenn diese Klasse Comparator nicht implementiert, können Sie zum Sortieren auch einen Comparator an die Methode sort() übergeben. Wenn Sie nicht die Standardsortierreihenfolge verwenden möchten, können Sie zum Sortieren auch einen Comparator an die Methode sort() übergeben.

1. Das verglichene Objekt implementiert die Comparable-Schnittstelle

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; 
 } 
 
}
Nach dem Login kopieren
2. Verwenden Sie 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; 
 } 
  
}
Nach dem Login kopieren
3. Sortieren Sie mehrere Attribute in Listenelementen (mithilfe von commons-beanutils)

commons-beanutils Es gibt einen BeanComparator in der Klassenbibliothek
Klasse, die kann zum Sortieren von JavaBeans verwendet werden. Diese Klasse kann jedoch jeweils nur eine Eigenschaft sortieren. Das Folgende ist ein Beispiel für die Verwendung von BeanComparator zum Sortieren mehrerer Eigenschaften von JavaBean. Es ist sehr einfach:

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Methodenbeispielen zum Sortieren von Listenelementen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!