Rumah >Java >javaTutorial >Bagaimana untuk Memulakan Java HashMap Secara Terus?

Bagaimana untuk Memulakan Java HashMap Secara Terus?

Barbara Streisand
Barbara Streisandasal
2024-12-13 05:27:16961semak imbas

How to Initialize a Java HashMap Directly?

Bagaimana untuk memulakan HashMap secara langsung (dalam cara literal)?

Soalan:
Adakah mungkin untuk memulakan Java HashMap dengan cara ringkas seperti ini?

Map<String,String> test = 
    new HashMap<String, String>{"test":"test","test":"test"};

Jika ya, apakah yang betul sintaks?

Jawapan untuk Java Versi 9 atau lebih tinggi:

Ya, ini kini boleh dilakukan menggunakan kaedah kilang yang ditambahkan dalam Java 9:

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

// For any number of elements
import static java.util.Map.entry;
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

Jawapan sehingga Java Versi 8:

Malangnya, pemulaan langsung dalam sintaks yang disediakan tidak mungkin. Walau bagaimanapun, anda boleh menggunakan subkelas tanpa nama untuk memendekkan kod:

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

Sebagai alternatif, anda boleh mencipta fungsi untuk permulaan:

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;
}

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Java HashMap Secara Terus?. 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