1. Persiapan teoretis
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 berdasarkan pembanding yang disediakan ketika pemetaan dibuat, tergantung pada konstruktor yang digunakan.
Nilai -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.
2. Penyortiran Kunci
TreeMap dalam urutan naik secara default. Jika kita perlu mengubah metode penyortiran, kita perlu menggunakan pembanding: pembanding. Pembanding dapat mengurutkan objek atau array pengumpulan, dan mengimplementasikan metode perbandingan publik (T o1, to2) dari antarmuka ini untuk mewujudkan penyortiran, sebagai berikut:
import java.util.Comparator;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.TreeMap;public class TreeMapTest { public static void main(String[] args) { Map<String, String> map = new TreeMap<String, String>( new Comparator<String>() { public int compare(String obj1, String Obj2) {// urutkan dalam urutan penurunan pengembalian obj2.compareto (obj1); peta.put ("b", "cccccc"); peta.put ("d", "aaaaa"); Map.put ("C", "BBBBB"); peta.put ("a", "ddddd"); Atur <string> keyset = map.keyset (); Iterator <string> iter = keyset.iterator (); while (iter.hasnext ()) {string key = iter.next (); System.out.println (key + ":" + Map.get (key)); }}}Hasil operasi adalah sebagai berikut:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
3. Penyortiran nilai
Contoh di atas adalah mengurutkan sesuai dengan nilai kunci TreeMap, tetapi kadang -kadang kita perlu mengurutkan sesuai dengan nilai TreeMap. Untuk mengurutkan nilai, kita perlu menggunakan metode sortir (daftar <T>, pembanding <? Super t> c) koleksi, yang mengurutkan daftar yang ditentukan sesuai dengan pesanan yang dihasilkan oleh pembanding yang ditentukan. Tetapi ada prasyarat, yaitu, semua elemen harus dapat dibandingkan berdasarkan pembanding yang disediakan, sebagai berikut:
Impor java.util.arraylist; import java.util.collections; import java.util.compeparator; import java.util.list; import java.util.map; import java.util.map.entry; paping vaid (string] {string paper) {paper {paper {paper {paper {paper { Treemap <string, string> (); peta.put ("a", "dddddd"); Map.put ("C", "BBBBBB"); peta.put ("d", "aaaaa"); peta.put ("b", "cccccc"); // di sini mengonversi map.entryset () ke daftar daftar <map.entry <string, string >> list = new arraylist <map.entry <string, string >> (map.entryset ()); // Kemudian gunakan pembanding untuk mengimplementasikan penyortiran collections.sort (daftar, komparator baru <map.entry <string, string >> () {// penyortiran int oT perbandingan (entri <string, string> o1, entri <string, string> o2) {return o1.getValue (). Compareto (o2.getValue ();}; untuk (map.entry <string, string> pemetaan: daftar) {system.out.println (mapping.getKey ()+":"+mapping.getValue ()); }}}Hasil operasi adalah sebagai berikut:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
Penyortiran peta Java di atas berdasarkan metode implementasi kunci dan nilai adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.