EnumSet ialah kelas praktikal dalam Java, yang digunakan untuk melaksanakan operasi pengumpulan jenis penghitungan. EnumSet boleh digunakan untuk melaksanakan operasi bit, operasi set, dan pelbagai operasi lain pada semua nilai jenis penghitungan. Dalam proses pembangunan sebenar, menggunakan EnumSet boleh beroperasi dengan mudah pada berbilang nilai penghitungan, meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Artikel ini akan memperkenalkan cara menggunakan fungsi EnumSet dalam Java untuk melaksanakan operasi penghitungan.
1. Apakah itu EnumSet
EnumSet ialah kelas abstrak dalam Java Ia melaksanakan antara muka Set dan hanya boleh digunakan untuk nilai jenis penghitungan. Kelas EnumSet menyediakan beberapa kaedah kilang statik yang boleh menjana objek contoh EnumSet dengan cara yang berbeza, seperti:
EnumSet<Weekdays> allDays = EnumSet.allOf(Weekdays.class); EnumSet<Weekdays> weekday = EnumSet.range(Weekdays.MONDAY, Weekdays.FRIDAY); EnumSet<Weekdays> weekend = EnumSet.complementOf(weekday);
Hari minggu ialah jenis penghitungan, yang mengandungi nilai penghitungan tujuh hari seminggu, dan boleh dijana melalui allOf () kaedah Objek contoh EnumSet yang mengandungi semua nilai penghitungan kaedah julat() boleh digunakan untuk menjana objek contoh EnumSet yang mengandungi nilai penghitungan dalam julat tertentu kaedah complementOf() boleh digunakan untuk menjana EnumSet yang mengandungi semua nilai penghitungan kecuali objek contoh nilai penghitungan yang ditentukan.
2. Gunakan EnumSet untuk operasi penghitungan
Operasi asas yang disokong oleh kelas EnumSet termasuk add(), remove(), contains(), size(), dll. Operasi ini konsisten dengan Tetapkan antara muka Ini tidak akan diperkenalkan satu per satu.
EnumSet<Weekdays> days = EnumSet.of(Weekdays.MONDAY); days.add(Weekdays.TUESDAY); days.remove(Weekdays.MONDAY); if (days.contains(Weekdays.WEDNESDAY)) { System.out.println("Today is Wednesday!"); } System.out.println(days.size());
Operasi set yang disokong oleh kelas EnumSet termasuk kesatuan(), persimpangan(), pelengkap() dan operasi lain. Operasi ini boleh melakukan operasi bit dengan mudah dan menetapkan operasi pada dua atau lebih objek contoh EnumSet.
EnumSet<Weekdays> weekday1 = EnumSet.range(Weekdays.MONDAY, Weekdays.WEDNESDAY); EnumSet<Weekdays> weekday2 = EnumSet.range(Weekdays.TUESDAY, Weekdays.FRIDAY); EnumSet<Weekdays> weekend = EnumSet.of(Weekdays.SATURDAY, Weekdays.SUNDAY); EnumSet<Weekdays> weekdays = EnumSet.of(Weekdays.MONDAY, Weekdays.WEDNESDAY); // 求并集 EnumSet<Weekdays> union = EnumSet.copyOf(weekdays); union.addAll(weekday2); // 求交集 EnumSet<Weekdays> intersection = EnumSet.copyOf(weekdays); intersection.retainAll(weekday2); // 求补集 EnumSet<Weekdays> complement = EnumSet.complementOf(weekday1); // 判断集合包含关系 if (weekdays.containsAll(weekday1)) { System.out.println("Weekdays contains Monday to Wednesday!"); } if (!weekdays.containsAll(weekend)) { System.out.println("Weekdays do not contain weekend!"); }
Kod di atas menunjukkan cara menggunakan EnumSet untuk operasi set. Antaranya, kaedah copyOf() boleh menjana objek contoh EnumSet yang mengandungi nilai penghitungan yang ditentukan kaedah addAll() boleh menambah nilai penghitungan yang ditentukan pada objek contoh EnumSet boleh mengekalkan penghitungan yang sama seperti yang ditentukan Objek contoh EnumSet. Kaedah complementOf() boleh menghasilkan objek contoh EnumSet yang mengandungi semua nilai penghitungan kecuali nilai penghitungan yang ditentukan.
3. Kesimpulan
Artikel ini memperkenalkan cara menggunakan fungsi EnumSet dalam Java untuk melaksanakan operasi penghitungan, terutamanya termasuk operasi asas dan operasi pengumpulan EnumSet. Dengan menggunakan EnumSet, anda boleh memudahkan operasi jenis penghitungan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Untuk situasi di mana nilai penghitungan berbilang perlu dikendalikan, fleksibiliti EnumSet menjadikan kod lebih ringkas dan lebih mudah untuk dikekalkan.
Atas ialah kandungan terperinci Cara menggunakan fungsi EnumSet dalam Java untuk operasi penghitungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!