原文地址:http://www.java2000.net/p11847这个类是1.5开始有的,目前个人使用量几乎为零,因为我很少使用枚举,呵呵。我这里也是简单介绍一下而已。其使用方式和普通的Set没有区别,只是构造方法有一些特殊的而已。
- package collection.lession5;
- import java.util.Arrays;
- import java.util.EnumSet;
- import java.util.Set;
- public class Lession5 {
-
- public static void main(String[] args) {
-
- EnumSet<MyEnum> set = EnumSet.noneOf(MyEnum.class);
- set.add(MyEnum.RED);
- set.add(MyEnum.GREEN);
- set.add(MyEnum.BLUR);
- showSet(set);
-
- EnumSet<MyEnum> set2 = EnumSet.allOf(MyEnum.class);
- showSet(set2);
-
- EnumSet<MyEnum> set3 = EnumSet.of(MyEnum.GREEN, MyEnum.RED, MyEnum.WHITE);
- showSet(set3);
-
-
- EnumSet<MyEnum> set4 = EnumSet.range(MyEnum.RED, MyEnum.YELLOW);
- showSet(set4);
-
-
- }
-
- private static void showSet(Set set) {
- System.out.println(Arrays.toString(set.toArray()));
- }
- }
- enum MyEnum {
- BLACK, WHITE, RED, BLUR, GREEN, YELLOW
- }
测试:
1 自己书写 copyOf(Collection<E> c) 和 complementOf(EnumSet<E> s) 的使用方式
2 测试在EnumSet.of 是否允许有重复值,是编译报错还是运行报错
3 测试 EnumSet.range 是否起点大于终点,也就是反向的range,看编译错误还是运行错误
总结
如果我们要用到对枚举类型的集合处理,这个当然是很好的选择。可惜我自己目前还用不到,以后在项目里,根据情况再确定吧。
如果range起点大于重点,出现如下的异常信息:
Exception in thread "main" java.lang.IllegalArgumentException: RED > BLACK
分享到:
相关推荐
EnumSet 是 Java 中用于存储枚举类型元素的集合类。它是 AbstractSet 的子类,并专门为枚举类型设计,提供了高效的实现。 下面是关于 EnumSet 的一些重要信息: 存储枚举元素:EnumSet 只能存储同一个枚举类型的...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
在Java中,Set接口是集合框架的一部分,它代表了不包含重复元素的无序集合。本篇将深入探讨Java中Set接口及其相关的实现类,以及如何在实际编程中运用。 Set接口继承自Collection接口,其主要特性是元素的唯一性,...
泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的枚举类型。 首先,Java集合框架包括List、Set、Queue等接口,以及ArrayList、LinkedList、...
本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java 5引入的泛型特性。 首先,让我们了解一下`java.lang.Class`。`Class`类在Java中扮演着特殊的角色,它不仅是一个普通类,而且是用于获取...
Java集合框架是Java编程语言中的核心组件之一,它为数据存储和管理提供了丰富的类和接口。这个培训资料将深入探讨Java集合框架的各个方面,帮助开发者更有效地利用这些工具。 首先,我们要了解Java集合框架的基本...
11. **EnumSet和EnumMap**:专为枚举类型设计的高效集合实现, EnumSet是Set的优化版本,EnumMap是Map的优化版本,它们在内部使用位运算和数组实现,性能优秀。 以上只是Java集合框架的一部分核心概念,实际开发中...
Java集合框架是Java编程语言中处理数据结构的核心组件,它广泛应用于存储、操作和检索数据。在java.util包和java.util.concurrent包中,Java集合框架被细分为两大类:基础集合类和并发集合类。基础集合类主要用于单...
7. **Java集合框架中的重要类和方法**:包括但不限于Collection、Set、List、Map、Iterator、EnumSet、EnumMap、SortedSet、NavigableSet、SortedMap、NavigableMap以及它们的实现类。 在Java集合框架的发展史上,...
Java集合框架是Java编程语言中不可或缺的一部分,它为开发者提供了数据结构和算法的实现,使得在处理各种数据存储和操作时更加高效。本资源“Java_jihe2.rar”包含了关于Java集合框架第二部分的学习源码,是进一步...
Java集合框架是Java编程语言中的一个核心组件,它为开发者提供了高效、灵活的数据结构和算法。这个框架使得处理对象集合变得更加简单,同时也提高了代码的可读性和可维护性。以下是对Java集合框架的详细说明: 1. *...
Java 5 引入了枚举类型,集合框架中的 `EnumSet` 和 `EnumMap` 分别针对枚举类型提供了高效的集合实现。 6. **并发集合** 为了支持多线程环境,Java提供了如 `ConcurrentHashMap`, `CopyOnWriteArrayList`, `...
Java集合框架是Java编程语言中的核心...总之,Java集合框架是Java开发中的基石,理解并熟练运用各种集合类和接口能够极大地提高代码的效率和可维护性。这个j2se集合课件将引导学习者全面掌握这些概念,提升编程能力。
此外,Java集合框架还包括`EnumSet`(枚举集)、`CopyOnWriteArrayList`和`CopyOnWriteArraySet`(线程安全的集合)以及`ConcurrentHashMap`(并发友好的哈希映射)等高级数据结构。 在源码学习中,理解这些类和...
Java中的枚举是一种特殊的类,它提供了一种安全的方式来表示有限集合中的值。枚举类型在Java中被引入,主要用于解决常量集合并提供一种强类型的安全性,防止了无意间创建新的实例或修改枚举常量。这篇博客将深入探讨...
在 Java 领域,《Java Collection Framework》这本书被广泛认为是一本优秀的教程,尤其适合初学者了解集合框架的前世今生。通过本书的学习,读者不仅能掌握集合框架的基本概念,还能深入了解其内部结构与实现原理。 ...
- Java集合框架广泛使用泛型,允许在编译时检查类型安全,避免了不必要的类型转换,并提高了代码的可读性。 5. **并发**: - `ConcurrentHashMap`:线程安全的哈希映射,适合多线程环境下的高性能操作。 - `...
Java 集合框架是Java编程语言中一个重要的组成部分,它提供了一套接口和类,使得程序员能够方便地管理和操作对象的集合。这个框架包括了多种数据结构,如列表(List)、集合(Set)、映射(Map)以及迭代器...
Java中的Set接口是基于集合概念实现的,它不包含重复元素。Set接口继承自Collection接口,并且不保证集合中元素的顺序,某些Set实现可能会按照插入顺序或特定规则排序。以下是对Java Set实现的一些深入讨论: 1. **...