Memulakan Java HashMap dengan pasangan nilai kunci tertentu secara ringkas dan literal telah menjadi ciri yang sukar difahami untuk pembangun. Walau bagaimanapun, kemajuan dalam Java telah membuka jalan kepada penciptaan peta yang dipermudahkan.
Dari Java versi 9 dan seterusnya, kelas Map memperkenalkan kaedah kilang yang menyelaraskan penciptaan peta:
Map.of: Boleh mencipta peta dengan ke atas kepada 10 elemen menggunakan sintaks ringkas:
Map<String, String> test1 = Map.of("a", "b", "c", "d");
Map.ofEntries: Mencipta peta dengan sebarang bilangan elemen:
import static java.util.Map.entry; Map<String, String> test2 = Map.ofEntries( entry("a", "b"), entry("c", "d") );
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah ini menghasilkan peta yang tidak boleh diubah. Untuk peta boleh ubah, anda boleh membuat salinan menggunakan:
mutableMap = new HashMap<>(Map.of("a", "b"));
Sebelum Java 9, pemulaan literal langsung tidak disokong. Untuk mencapai kesan yang serupa, anda boleh menggunakan teknik berikut:
Kelas Tanpa Nama dengan Initializer: Tentukan subkelas tanpa nama yang memulakan peta dalam pembinanya:
Map<String, String> myMap = new HashMap<String, String>() {{ put("a", "b"); put("c", "d"); }};
Fungsi untuk Permulaan: Cipta fungsi untuk menjana peta dan gunakannya dalam pemula:
Map<String, String> myMap = createMap(); private static Map<String,String> createMap() { Map<String,String> myMap = new HashMap<String,String>(); myMap.put("a", "b"); myMap.put("c", "d"); return myMap; }
Pendekatan terakhir adalah lebih bersih dan mengelakkan sebarang kemungkinan perangkap yang dikaitkan dengan subkelas tanpa nama.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan HashMap di Java dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!