Rumah >Java >javaTutorial >Cara menggunakan kelas EnumMap di Java untuk melaksanakan koleksi pasangan nilai kunci berdasarkan penghitungan

Cara menggunakan kelas EnumMap di Java untuk melaksanakan koleksi pasangan nilai kunci berdasarkan penghitungan

WBOY
WBOYasal
2023-07-24 21:37:101573semak imbas

Cara Java menggunakan kelas EnumMap untuk melaksanakan koleksi pasangan nilai kunci berasaskan penghitungan

Ikhtisar:
EnumMap ialah kelas pelaksanaan khas dalam rangka kerja koleksi Java, digunakan untuk melaksanakan koleksi pasangan nilai kunci berasaskan penghitungan. Cirinya ialah kunci hanya boleh menjadi jenis penghitungan dan prestasinya lebih baik daripada HashMap. Artikel ini akan memperkenalkan cara menggunakan kelas EnumMap dan memberikan contoh kod.

  1. Pengenalan asas kepada kelas EnumMap
    EnumMap ialah kelas dalam rangka kerja koleksi Java Ia diwarisi daripada kelas AbstractMap dan melaksanakan antara muka NavigableMap. Set kunci EnumMap hanya boleh daripada jenis penghitungan dan kelas penghitungan diperlukan untuk dihantar sebagai parameter untuk pembinaan. Kelas EnumMap menyediakan pelbagai kaedah untuk memanipulasi dan melintasi koleksi pasangan nilai kunci bagi jenis penghitungan.
  2. Kaedah pembinaan EnumMap
    Kelas EnumMap menyediakan berbilang kaedah pembinaan, yang biasa digunakan adalah seperti berikut:
  3. EnumMap(Class245c3adc26563b673f7297c0b3777639 enumType): Buat contoh EnumMap kosong menggunakan jenis penghitungan yang ditentukan.
  4. EnumMap(EnumMapcac34258e02732127aa74c01fc1d75bb peta): Mulakan tika EnumMap baharu menggunakan tika EnumMap yang ditentukan.
  5. EnumMap(Mapcac34258e02732127aa74c01fc1d75bb map): Mulakan tika EnumMap baharu menggunakan tika Map yang ditentukan.
  6. Penggunaan asas EnumMap
    Seterusnya, mari kita lihat cara menggunakan kelas EnumMap untuk melaksanakan koleksi pasangan nilai kunci berdasarkan penghitungan.

Contoh kod:

import java.util.EnumMap;

public class EnumMapExample {
    
    // 定义一个枚举类型
    enum Day {
        MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }
    
    public static void main(String[] args) {
        
        // 创建一个EnumMap实例
        EnumMap<Day, String> enumMap = new EnumMap<>(Day.class);
        
        // 添加键值对
        enumMap.put(Day.MONDAY, "星期一");
        enumMap.put(Day.TUESDAY, "星期二");
        enumMap.put(Day.WEDNESDAY, "星期三");
        
        // 获取值
        System.out.println(enumMap.get(Day.MONDAY));
        
        // 遍历EnumMap
        for (Day day : enumMap.keySet()) {
            System.out.println(day + ":" + enumMap.get(day));
        }
        
        // 判断键是否存在
        System.out.println(enumMap.containsKey(Day.SUNDAY));
    }
}

Hasil keluaran:

星期一
MONDAY:星期一
TUESDAY:星期二
WEDNESDAY:星期三
false

Dalam contoh kod di atas, kami mula-mula mentakrifkan kaedah Day,包含七个枚举常量。然后我们创建了一个EnumMap实例,并添加了几个键值对。通过enumMap.get(key)方法可以获取指定键的值。我们还展示了如何遍历EnumMap,并使用containsKey(key) jenis penghitungan untuk menentukan sama ada kunci wujud dalam EnumMap.

  1. Kelebihan prestasi EnumMap
    EnumMap mempunyai beberapa kelebihan prestasi berbanding HashMap:
  2. Pelaksanaan dalaman adalah berdasarkan tatasusunan Berbanding dengan senarai terpaut HashMap atau pokok merah-hitam, pertanyaan dan operasi sisipan EnumMap adalah lebih pantas.
  3. EnumMap menggunakan lebih sedikit ruang storan kerana tiada ruang storan tambahan diperlukan untuk menyimpan nilai cincang kunci.

Ringkasan:
EnumMap ialah kelas pelaksanaan khas dalam rangka kerja koleksi Java, digunakan untuk melaksanakan koleksi pasangan nilai kunci berasaskan penghitungan. Mempunyai prestasi yang cekap dan jejak ruang simpanan yang kecil. Melalui pengenalan artikel ini, kami memahami kaedah pembinaan dan penggunaan asas kelas EnumMap, dan menyediakan contoh kod yang sepadan. Dalam pembangunan sebenar, apabila kita perlu melaksanakan koleksi pasangan nilai kunci berdasarkan kelas penghitungan, EnumMap ialah pilihan yang sangat baik.

Atas ialah kandungan terperinci Cara menggunakan kelas EnumMap di Java untuk melaksanakan koleksi pasangan nilai kunci berdasarkan penghitungan. 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