Tempahan Isih Tersuai dengan Pembanding
Dalam tugas pengaturcaraan baru-baru ini, pengguna ingin mengisih senarai kereta mengikut warna mereka, tetapi tidak dalam susunan abjad nama warna. Untuk mencapai matlamat ini, mereka cuba menggunakan antara muka Comparator dan Comparable Java. Walau bagaimanapun, mereka menghadapi kesukaran kerana kaedah pengisihan terbina dalam hanya membenarkan pengisihan abjad.
Untuk menyelesaikan isu ini, adalah disyorkan untuk melaksanakan logik perbandingan tersuai menggunakan kelas Comparator. Pembanding harus menentukan kaedah perbandingan yang menentukan susunan elemen yang hendak diisih.
Comparator<Car> colorComparator = new Comparator<>() { @Override public int compare(Car c1, Car c2) { String color1 = c1.getColor(); String color2 = c2.getColor(); // Define the specific sorting order here if (color1.equals("Red")) { return -1; // Red comes first } else if (color1.equals("Blue")) { return 1; // Blue comes after Red } else { return 0; // All other colors come last } } };
Dengan pembanding ini, pengguna boleh menggunakan logik isihan tersuai pada senarai kereta mereka. Untuk mengisih senarai mengikut warna, mereka boleh menggunakan kaedah Collections.sort():
Collections.sort(carList, colorComparator);
Sebagai alternatif, pengguna juga boleh membuat enum untuk warna kereta dan menentukan susunan semula jadi dalam enum itu sendiri. Ini akan memberikan cara yang lebih elegan dan ringkas untuk menguatkuasakan tertib pengisihan tersuai.
Dengan melaksanakan Pembanding atau menggunakan enum dengan susunan semula jadi, pengguna boleh mencapai pengisihan tersuai yang mereka kehendaki untuk senarai kereta, memastikan bahawa kereta disusun mengikut keutamaan warna yang ditentukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Logik Isih Tersuai untuk Senarai Kereta di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!