com.itheima.demo05.Collections empaquetar; Estudiante public class { private String nombre; int edad privada; Estudiante pública () { } Estudiante pública (String nombre, edad int) { this.name = Nombre; this.age = edad; } @Anular Cadena public toString () { volver "Estudiante {" + "Name = '" + nombre + '\'' + "Edad =" + edad + '}'; } Public String getName () { Nombre del retorno; } pública setName void (String nombre) { this.name = Nombre; } public int getAge () { la edad de retorno; } setAge public void (int edad) { this.age = edad; } }
com.itheima.demo05.Collections empaquetar; java.util.ArrayList importación; java.util.Collections de importación; java.util.Comparator importación; / * - java.utils.Collections es un conjunto de herramientas para la operación de recogida. Parte del siguiente modo: public static <T> void sort (List <T> lista, Comparador <Super T?>): Los elementos de la colección ordenados de acuerdo con las reglas especificadas. La diferencia Comparador y comparable Método CompareTo propias reglas (este) y otros (parámetros) de comparación, que necesitan para implementar la interfaz Comparable, la comparación reescrito: Comparable Comparador: encontrar el equivalente de un tercero árbitro para comparar dos Comparador de colación: o1 o2-: ascendente * / Demo03Sort public class { public static void Main (args String []) { ArrayList <Integer> list01 = new ArrayList <> (); list01.add (1); list01.add (3); list01.add (2); System.out.println (list01); // [1, 3, 2] Collections.sort (list01, nuevo Comparador <Integer> () { // reglas de reescritura para comparar @Anular public int comparar (o1 entero, entero O2) { // retorno o1 o2-; // ascendente volver o2-o1; // descendente } }); System.out.println (list01); ArrayList <Estudiante> list02 = new ArrayList <> (); list02.add (nueva Estudiante ( "una barra caliente Dilly", 18)); list02.add (nueva Estudiante ( "Gülnezer Bextiyar", 20)); list02.add (nueva Estudiante ( "杨 幂", 17)); list02.add (nuevo Student ( "b 杨 幂", 18)); System.out.println (list02); /*Collections.sort(list02, nuevo Comparador <Estudiante> () { @Anular public int (o1 Estudiante, Estudiante O2) comparar { // orden ascendente por edad o1.getAge de retorno () - o2.getAge (); } }); * / // extensiones: Aprenda Collections.sort (list02, nuevo Comparador <Estudiante> () { @Anular public int (o1 Estudiante, Estudiante O2) comparar { // orden ascendente por edad resultado int = o1.getAge () - o2.getAge (); // Si dos personas de la misma edad, la primera palabra y luego comparar el uso del nombre si (resultado == 0) { resultar = o1.getName () charAt (0) -o2.getName () charAt (0)..; } return resultado; } }); System.out.println (list02); } }