Editor PHP Zimo mengesyorkan mempelajari Peta Java, yang merupakan kemahiran utama untuk pelajar lanjutan. Menguasai intipati Peta Java bukan sahaja dapat meningkatkan kemahiran pengaturcaraan, tetapi juga membantu pelajar memahami aplikasi struktur data dan algoritma dengan lebih mendalam, meletakkan asas yang kukuh untuk pengaturcaraan masa hadapan.
Peta mempunyai banyak kegunaan di Jawa. Contohnya, anda boleh menggunakan Peta untuk menyimpan ID pengguna dan kata laluan, ID produk dan harga, atau nama fail dan kandungan fail. Peta juga bagus untuk menyimpan tetapan konfigurasi dalam aplikasi.
Terdapat tiga pelaksanaan Peta terbina dalam dalam Java: HashMap, TreeMap dan LinkedHashMap. HashMap ialah pelaksanaan Peta berdasarkan jadual cincang, dan ia merupakan pelaksanaan Peta yang paling banyak digunakan. TreeMap ialah pelaksanaan Peta berdasarkan pepohon merah-hitam, yang mengisih pasangan nilai kunci dalam susunan utama. LinkedHashMap ialah pelaksanaan Peta berdasarkan senarai terpaut, yang mengekalkan susunan sisipan pasangan nilai kunci.
HashMapHashMap ialah pelaksanaan Peta yang paling biasa digunakan. Ia menggunakan jadual cincang untuk menyimpan pasangan nilai kunci. Jadual cincang ialah
arraydi mana setiap elemen ialah senarai terpaut. Apabila anda menambah pasangan nilai kunci pada HashMap, HashMap mengira kod cincang kunci dan menyimpan pasangan nilai kunci dalam senarai terpaut yang sama seperti kod cincang. Apabila anda mendapatkan nilai daripada HashMap, HashMap mengira kod cincang kunci dan kemudian mencari kunci dalam senarai terpaut yang sama seperti kod cincang. Kerumitan HashMap ialah O(1), yang bermaksud bahawa secara purata, masa untuk mencari, menambah atau memadam pasangan nilai kunci adalah tetap. Walau bagaimanapun, dalam kes yang paling teruk, kerumitan HashMap mungkin merosot kepada O(n), dengan n ialah bilangan pasangan nilai kunci dalam Peta. Ini kerana jadual cincang boleh menjadi tidak seimbang, menyebabkan beberapa senarai terpaut menjadi sangat panjang.
Peta PokokTreeMap ialah pelaksanaan Peta yang mengisih pasangan nilai kunci dalam susunan utama. Ia menggunakan pokok merah-hitam untuk menyimpan pasangan nilai kunci. Pokok merah-hitam ialah pokok carian binari pengimbangan diri, yang bermaksud bahawa ketinggiannya sentiasa O(log n), dengan n ialah bilangan nod dalam pokok itu.
Kerumitan TreeMap ialah O(log n), yang bermaksud bahawa secara purata, masa untuk mencari, menambah atau memadam pasangan nilai kunci ialah O(log n). Walau bagaimanapun, dalam kes yang paling teruk, kerumitan TreeMap mungkin merosot kepada O(n), dengan n ialah bilangan pasangan nilai kunci dalam Peta. Ini kerana pokok merah-hitam boleh menjadi tidak seimbang, menyebabkan ketinggian pokok menjadi O(n).
LinkedHashMapLinkedHashMap ialah pelaksanaan Peta yang mengekalkan susunan sisipan pasangan nilai kunci. Ia menggunakan senarai terpaut untuk menyimpan pasangan nilai kunci. Apabila anda menambah pasangan nilai kunci pada LinkedHashMap, pasangan nilai kunci akan ditambahkan pada penghujung senarai terpaut. Apabila anda mendapatkan nilai daripada LinkedHashMap, LinkedHashMap akan merentasi senarai terpaut sehingga ia menemui pasangan nilai kunci yang sepadan dengan kunci yang diberikan.
Kerumitan LinkedHashMap ialah O(n), dengan n ialah bilangan pasangan nilai kunci dalam Peta. Ini kerana LinkedHashMap mesti merentasi senarai terpaut untuk mencari pasangan nilai kunci yang sepadan dengan kunci yang diberikan.
Pilih pelaksanaan Peta yang sesuaiApabila memilih pelaksanaan Peta yang sesuai, anda perlu mengambil kira faktor berikut:
Kod berikut menunjukkan cara menggunakan HashMap untuk menyimpan ID pengguna dan kata laluan:
Map<String, String> users = new HashMap<>(); users.put("alice", "passWord1"); users.put("bob", "password2"); users.put("charlie", "password3"); String password = users.get("alice");
Map<Integer, Double> products = new TreeMap<>(); products.put(1, 10.0); products.put(2, 20.0); products.put(3, 30.0); Double price = products.get(2);
Map<String, String> files = new LinkedHashMap<>(); files.put("file1.txt", "This is the content of file1.txt."); files.put("file2.txt", "This is the content of file2.txt."); files.put("file3.txt", "This is the content of file3.txt."); String content = files.get("file2.txt");
Kesimpulan
Map ialah struktur data yang sangat berguna di Jawa. Ia membolehkan anda menyimpan dan mendapatkan semula nilai menggunakan kekunci. Terdapat banyak pelaksanaan Map yang berbeza, masing-masing mempunyai kebaikan dan keburukan tersendiri. Apabila memilih pelaksanaan Peta yang sesuai, anda perlu mempertimbangkan prestasi, keselamatan benang
Atas ialah kandungan terperinci Kuasai intipati Peta Java, kemahiran yang diperlukan untuk pelajar lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!