枚举集合的EnumSet
在上一篇博客文章中,我们发现了EnumMap
用于带有枚举键的映射。 您可能已经观察到,还有一个专门针对枚举优化的Set
: EnumSet
。
我们再次定义一个CoffeeType
枚举:
public enum CoffeeType {ESPRESSO, POUR_OVER, FRENCH_PRESS, LATTE, FLAT_WHITE
}
现在,我们可以使用EnumSet
实现创建此枚举类型的集合:
Set<CoffeeType> favoriteCoffeeTypes = EnumSet.of(ESPRESSO, POUR_OVER, LATTE);assertThat(favoriteCoffeeTypes).containsOnly(ESPRESSO, POUR_OVER, LATTE);
favoriteCoffeeTypes
仍然像任何Set
一样起作用,也就是说,添加重复项不会更改其内容:
favoriteCoffeeTypes.add(POUR_OVER);assertThat(favoriteCoffeeTypes).containsOnly(ESPRESSO, POUR_OVER, LATTE);
有趣的旁注:如果您研究JDK,则会看到EnumSet
由RegularEnumSet
和JumboEnumSet
都实现了; 枚举元素的数量决定了所使用的实现。 如果您对EnumSet
实现如何高效管理感兴趣,我挑战您看看这些类。 提示:按位操作:-)
这篇帖子从我的时事通讯018中转贴了。
翻译自: https://www.javacodegeeks.com/2018/01/enumset-enum-collections.html
枚举集合的EnumSet相关推荐
- enumset_枚举集合的EnumSet
enumset 在上一篇博客文章中,我们发现了EnumMap用于带有枚举键的映射. 您可能已经观察到,还有一个专门针对枚举优化的Set : EnumSet . 我们再次定义一个CoffeeType枚举 ...
- java 集合枚举_java枚举集合怎么用
在java枚举中可以结合集合进行操作,这里生成了一个新的类EnumSet.除此之外还有一个EnumMap集合需要我们掌握.下面我们就枚举集合的两种类进行说明,重点讲解EnumSet类的方法.代码及实例 ...
- Java集合之EnumSet
转载自 Java集合之EnumSet EnumSet EnumSet 是一个专为枚举设计的集合类,EnumSet中的所有元素都必须是指定枚举类型的枚举值,该枚举类型在创建EnumSet时显式或隐式地 ...
- java枚举类型及枚举集合
文章目录 一.枚举类型 二.switch 操作 三.自定义枚举类 四.相关枚举类 4.1 EnumMap 枚举型映射/字典 4.2 EnumSet 枚举集合 一.枚举类型 /*** @author z ...
- 【Java 枚举 集合】枚举类Enum、映射EnumMap、集EnumSet
枚举Enum.映射EnumMap.集EnumSet 一.枚举Enum 1.概述 2.介绍 ① valueOf ② values 3.分析 ※ 模仿一个枚举类 二.枚举映射 EnumMap 1.概述 2 ...
- hdu 3006 枚举集合可以产生的所有并集的集合
http://acm.hdu.edu.cn/showproblem.php?pid=3006 刚买的CHERRY键盘 手感真好 可惜不习惯 写代码老是打错,一个题写了一上午,都是各种按错键DEBUG. ...
- JSE6-数组枚举,集合,泛型
1.数组 1.1 概述 数组是由相同类型的若干项数据组成的一个数据集合,数组是引用类型. 数组的声明 char charArray [] 或 char[] charArray; Java中,即使数组是 ...
- xjoi 1542 枚举集合 2
题目描述: 输入n,问从 1,2,3,...,n-1,n 中选出若干个数使得他们的和为 n ,有多少种方案.每个数最多可以选3次. 输入格式: 一个数n 输出格式: 一个数表示答案 样例输入1: 2 ...
- 浅谈在Java开发中的枚举的作用和用法
2019独角兽企业重金招聘Python工程师标准>>> 在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量.例如: [java] view plain copy pack ...
最新文章
- (完全解决)Key already registered with the same priority: GroupSpatialSoftmax
- auot lisp 选择集处理_离散量的计算机处理64_1Cvs
- java 静态 二维数组 转化hashmap_将一个二维数组转换为 hashmap 哈希表
- 利用GBDT模型构造新特征具体方法
- Android—Window、WindowManage、屏幕绘制及刷新
- 人生路漫漫,还得多输出
- 求一个向量变换为另一个向量的矩阵_OpenGL里旋转等变换矩阵为什么是4x4的矩阵...
- 【图像处理】RGB图像边缘检测
- Flutter开发系列教程
- MySQL常用命令集锦
- jupyter notebook怎么画决策树图_状态图怎么画?图文详解快速上手UML图
- I didn't write blog yesterday night for some ineffable reasons
- VMMECH007_Thermal Stress in a Bar with Temperature Dependent Conductivity
- 收发EtherCAT帧——ecx_closenic
- Flink反压如何排查
- Word中公式变量解释时破折号对齐方法
- 常用的设计模式之观察者模式
- Oracle中对数据分组统计
- YJKJ公众号开发流程
- 学机器人编程课以后有用吗
热门文章
- Java对象的引用类型
- art-template入门(一)之介绍
- JavaScript学习总结(一)——JavaScript基础
- Java压缩技术(七) TAR——Commons实现
- 如何改变Idea的背景
- 实体类?Dao接口?Mapper映射文件?都别写了!!!用这种方法就可以
- XML——StAX Streaming API for XML(read+write)
- Spring IOC 和 AOP 概览
- 使用阿里巴巴json映射_使用JSON模式验证来映射稀疏JSON
- java 字符数组与字符串_用于字符串和数组的5种简单有效的Java技术