Rumah >Java >javaTutorial >HashMap, LinkedHashMap dan TreeMap dalam Java: Apakah Perbezaan Utama dan Bila Untuk Menggunakan Setiap Satu?
Menavigasi Nuansa HashMap, LinkedHashMap dan TreeMap dalam Java
Pengenalan
Sebagai pembangun Java, adalah penting untuk memahami perbezaan antara pelbagai struktur data, termasuk tiga pilihan lazim: HashMap, LinkedHashMap dan TreeMap. Walaupun mereka semua melaksanakan antara muka Peta, mereka mempamerkan ciri unik yang memberi kesan kepada fungsi dan prestasi mereka.
Perbezaan Teras
Pelaksanaan Asas dan Penyegerakan:
Contoh Penggunaan dan Output:
Coretan kod yang disediakan menggambarkan tingkah laku HashMap, LinkedHashMap dan TreeMap:
// HashMap (unsorted key order) Map<String, String> m1 = new HashMap<>(); m1.put("map", "HashMap"); m1.put("schildt", "java2"); m1.put("mathew", "Hyden"); m1.put("schildt", "java2s"); System.out.println(m1.keySet()); // [schildt, mathew, map] System.out.println(m1.values()); // [java2s, Hyden, HashMap] // TreeMap (sorted key order) SortedMap<String, String> sm = new TreeMap<>(); sm.put("map", "TreeMap"); sm.put("schildt", "java2"); sm.put("mathew", "Hyden"); sm.put("schildt", "java2s"); System.out.println(sm.keySet()); // [map, mathew, schildt] System.out.println(sm.values()); // [TreeMap, Hyden, java2s] // LinkedHashMap (insertion order) LinkedHashMap<String, String> lm = new LinkedHashMap<>(); lm.put("map", "LinkedHashMap"); lm.put("schildt", "java2"); lm.put("mathew", "Hyden"); lm.put("schildt", "java2s"); System.out.println(lm.keySet()); // [map, schildt, mathew] System.out.println(lm.values()); // [LinkedHashMap, java2, Hyden]
Hashtables: A Legacy Data Structure
Sebelum Java 1.2, Hashtables telah berleluasa tetapi kini tidak digunakan lagi kepada ciri yang lebih canggih yang disediakan oleh HashMaps. Hashtables mempamerkan gelagat yang serupa dengan HashMaps tetapi:
Atas ialah kandungan terperinci HashMap, LinkedHashMap dan TreeMap dalam Java: Apakah Perbezaan Utama dan Bila Untuk Menggunakan Setiap Satu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!