Rumah >Java >javaTutorial >Bagaimana untuk Mengisih Objek Java mengikut Pelbagai Medan (Nama dan Umur)?
Mengisih Objek Java mengikut Pelbagai Medan: Nama dan Umur
Pertimbangkan tatasusunan objek Orang, setiap satu mengandungi umur integer dan nama String . Mengisih tatasusunan sedemikian mengikut abjad mengikut nama dan kemudian mengikut umur memerlukan algoritma pengisihan tersuai.
Menggunakan Collections.sort
Pustaka Java Collections menyediakan kaedah isihan terbina dalam anda boleh memanfaatkan:
private static void order(List<Person> persons) { Collections.sort(persons, new Comparator<>() { @Override public int compare(Object o1, Object o2) { // Compare by name (lexicographically) String x1 = ((Person) o1).getName(); String x2 = ((Person) o2).getName(); int sComp = x1.compareTo(x2); // If names are different, return result if (sComp != 0) { return sComp; } // If names are equal, compare by age Integer x1 = ((Person) o1).getAge(); Integer x2 = ((Person) o2).getAge(); return x1.compareTo(x2); } }); }
Proses Aliran
Dengan menggunakan Collections.sort dengan Pembanding tersuai ini, anda boleh mengisih tatasusunan objek Orang dalam susunan nama menaik, diikuti dengan susunan umur menaik.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Objek Java mengikut Pelbagai Medan (Nama dan Umur)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!