Rumah >Java >javaTutorial >Bagaimana untuk Memulakan HashMap dengan Cekap di Jawa?

Bagaimana untuk Memulakan HashMap dengan Cekap di Jawa?

Susan Sarandon
Susan Sarandonasal
2024-12-17 20:18:11942semak imbas

How to Efficiently Initialize a HashMap in Java?

Cara Memulakan HashMap Secara Terus dan Ringkas

Ramai pembangun Java menginginkan cara yang mudah untuk memulakan HashMap dengan pasangan nilai kunci. Malangnya, pustaka standard Java tidak mempunyai sintaks yang memuatkan ini secara langsung.

Java Versi 9 dan Lebih Tinggi

Namun, untuk Java 9 dan lebih baru, ada berita baik! Kaedah kilang baharu telah diperkenalkan untuk memudahkan penciptaan peta:

  • Map.of: Menerima sehingga 10 pasangan nilai kunci dalam bentuk Map.of("key1", "nilai1", "kunci2", "nilai2", ...)
  • Map.ofEntries: Mengendalikan sebarang bilangan entri menggunakan Map.ofEntries(entry("key1", "value1"), entry("key2", "value2" ), ...)

Contoh:

// Using Map.of for up to 10 elements
Map<String, String> test1 = Map.of("a", "b", "c", "d");

// Using Map.ofEntries for any number of elements
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

Java Versi 8 dan Di Bawah

Untuk versi Java yang lebih awal, anda perlu untuk menambah setiap elemen secara manual. Berikut ialah pilihan yang sedikit lebih ringkas menggunakan pemula subkelas tanpa nama:

Contoh:

Map<String, String> myMap = new HashMap<>() {{
    put("a", "b");
    put("c", "d");
}};

Nota:

  • Pendekatan ini mewujudkan kelas tambahan, yang berpotensi menjejaskan memori dan prestasi.
  • Ia mungkin mengandungi rujukan kepada objek yang mencipta, menghalang pengumpulan sampah.

Alternatif yang melibatkan fungsi:

Contoh:

Map<String, String> myMap = createMap();

private static Map<String, String> createMap() {
    Map<String,String> myMap = new HashMap<>();
    myMap.put("a", "b");
    myMap.put("c", "d");
    return myMap;
}

Atas ialah kandungan terperinci Bagaimana untuk Memulakan HashMap dengan Cekap di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn