Peta adalah antarmuka koleksi untuk pasangan nilai kunci. Kelas implementasinya terutama meliputi: hashmap, treemap, hashtable, dan linkedhashmap.
• TreeMap: Implementasi NavigableMap berdasarkan pohon merah-hitam, yang diurutkan dalam urutan alami kuncinya atau di pembanding yang disediakan saat membuat peta, tergantung pada konstruktor yang digunakan.
• Nilai hashmap sudah beres, mereka diimplementasikan sesuai dengan kode hash dari kunci. Bagaimana kami menerapkan penyortiran untuk hashmap yang tidak tertib ini? Lihat Jenis Nilai TreeMap.
MAP.Entry Mengembalikan tampilan Koleksi.
Urutkan berdasarkan kunci
TreeMap dalam urutan naik secara default. Jika kita perlu mengubah metode penyortiran, kita perlu menggunakan pembanding: pembanding. Pembanding dapat mengurutkan antarmuka pembanding untuk objek koleksi atau array, dan mengimplementasikan metode perbandingan publik (T O1, TO2) dari antarmuka ini untuk mewujudkan penyortiran.
Catatan: Semua kode berikut telah diuji di JDK1.6
TreeMap diurutkan dalam urutan naik secara default
public static void keyupsort () {// Secara default, TreeMap diurutkan dalam urutan naik keymap <string, integer> peta = treemap baru <string, integer> (); peta.put ("acb1", "map.put (" Bac1 ", 3); peta.put (" bca1 "," 20); peta ("BAC1", 3); peta.put ("BCA1", "20); peta (" BAC1 ", 3); MAP.PUP.PUT (" BCA1 "," 20); 1); peta.put ("abc1", 10); peta.put ("abc2", 12); // Secara default, TreeMap mengurutkan kunci dalam urutan naik System.out.println ("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Ubah Metode Penyortiran TreeMap dan urutkan dengan Kunci Descending
public static void keyDownsort () {// treemap, diurutkan dengan descending order // urutkan dalam penurunan pesanan komparator <string> keycomparator = pembanding baru <string> () {@overridepublic int perbandingan (string o1, string o2) {// todo auto-hearerated metode stubretnurn O2.1 (o2) {// TODO Auto-metode Stubreturn O2.1. Treemap <string, integer> (keycomparator); map.put ("acb1", 5); map.put ("bac1", 3); peta.put ("bca1", 20); peta.put ("Cab1", 80); peta.put ("cba1", 1); peta.put ("abc1", 10); peta ("cba1", 1); peta ("abc1", 10); peta ("cba1", 1); peta ("abc1", 10); 12); System.out.println ("------------ TreeMap 按 Kunci 降序排序 ---------------------"); untuk (MAP.entry <String, Integer> Entry: Map.entryset ()) {System.out.println (entri.getkey () + ":" + EntryValue ();}}}}};Urutkan berdasarkan nilai
Berikut ini hanya menunjukkan penyortiran oleh TreeMap dengan menaikkan urutan, dan hal yang sama berlaku untuk hashmap.
Ubah Metode Penyortiran TreeMap dan urutkan dalam urutan nilai menaikkan
Catatan: Dalam keadaan normal, peta tidak dapat diurutkan menggunakan metode collections.sort (), tetapi peta dapat dikonversi ke dalam daftar sebelum disortir.
public static void valueUpsort () {// Secara default, TreeMap diurutkan dalam urutan naik berdasarkan peta kunci <string, integer> peta = treemap baru <string, integer> (); peta.put ("acb1", 5); peta.put ("bac1", 3); peta.put ("bca1", 20); peta ("Bac1", 3); peta.put ("BCA1", 20); 1);map.put("abc1", 10);map.put("abc2", 12);// Ascending comparator Comparator<Map.Entry<String, Integer>> valueComparator = new Comparator<Map.Entry<String,Integer>>() {@Overridepublic int compare(Entry<String, Integer> o1,Entry<String, Integer> o2) {// TODO Metode yang dihasilkan secara otomatis Stubreturn o1.getValue ()-o2.getValue ();}}; // Convert Map ke daftar untuk daftar penyortiran <map.entry <string, integer >> list = new arraylist <map.entry <string, integer >> (map.entryset (); // sortir collection (peta (map. kunci dalam urutan naik System.out.println ("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Hasil tes
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Di atas adalah metode implementasi penyortiran peta java sesuai dengan nilai yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!