Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Memulakan HashMap di Java dengan Cekap?

Bagaimanakah Saya Boleh Memulakan HashMap di Java dengan Cekap?

Patricia Arquette
Lepaskan: 2024-12-25 13:52:13
asal
748 orang telah melayarinya

How Can I Initialize a HashMap in Java Efficiently?

Memulakan HashMap Literall

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.

Java 9 dan Kemudian: Kaedah Kilang

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");
    Salin selepas log masuk
  • 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")
    );
    Salin selepas log masuk

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"));
Salin selepas log masuk

Java 8 dan Terdahulu: Kelas atau Fungsi Tanpa Nama

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");
    }};
    Salin selepas log masuk
  • 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;
    }
    Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan