enumset_枚举集合的EnumSet

enumset

在上一篇博客文章中,我们发现了EnumMap用于带有枚举键的映射。 您可能已经观察到,还有一个专门针对枚举优化的SetEnumSet

我们再次定义一个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,则会看到EnumSetRegularEnumSetJumboEnumSet都实现了; 枚举元素的数量决定了所使用的实现。 如果您对EnumSet实现如何高效管理感兴趣,我挑战您看看这些类。 提示:按位操作:-)

这篇帖子从我的时事通讯018中转贴了。

翻译自: https://www.javacodegeeks.com/2018/01/enumset-enum-collections.html

enumset

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 目录之 /etc/init.d/ 介绍

文章目录一、关于目录 /etc/init.d/二、关于目录 /etc/rc.d/init.d/三、关于文件 /etc/rc.local四、/etc/init.d/ 和 service 文件五、关于命令 service六、关于文件 /etc/inittab七、关于目录 /etc/init/注意&#xff1a;以 System V init 或者 Upstart 为初始化系统的 Linux …

c语言行列式源代码,新手作品:行列式计算C语言版

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼对话 ControlHeightDecrease ShiftUp Arrow 向上调整选定的控件或对话一个对话单位对话 ControlHeightIncrease ShiftDown Arrow 向下调整选定的控件或对话一个对话单位对话 ControlMoveDown Dow…

RPM 软件包名中的 el5、el6、el7 是什么?

EL 是 Red Hat Enterprise Linux 的简写。 EL6 表示软件包可以在 Red Hat 6.x&#xff0c;CentOS 6.x&#xff0c;CloudLinux 6.x 进行安装EL5 表示软件包可以在 Red Hat 5.x&#xff0c;CentOS 5.x&#xff0c;CloudLinux 5.x 进行安装EL7 表示软件包可以在 Red Hat 7.x&…

pbc是什么材料_职道漫谈 | 华为的绩效跟你们公司的绩效,有什么区别?

文 | 沈齐雨作者赐稿授权发布&#xff0c;供朋友圈转发分享&#xff01;欢迎投稿&#xff1a;3069462510qq.com相信现在随便问几个公司员工&#xff1a;你们公司的绩效运行的怎么样&#xff1f;得到的答案大多会是&#xff1a;“完全就是摆设。”“没用不说&#xff0c;还特别浪…

java 异常处理发生异常_处理Java中的异常

java 异常处理发生异常每个程序员都希望编写一个完美的程序。 也就是说&#xff0c;程序运行时没有任何障碍。 好吧&#xff0c;如果希望是马&#xff0c;乞g就会骑。 除了程序员的所有愿望之外&#xff0c;有时还会发生无法预料的情况。 在Java中&#xff0c;这些无法预料的…

android提交项目到svn,Android Studio 配置SVN,通过Share project提交项目和实现忽略文件...

1&#xff1a;首先电脑本身装的SVN必须在bin目录下包含svn.exe文件&#xff0c;如下图。这个文件是在安装SVN时选择安装command line client tools才会出现。如果没有&#xff0c;需要重新安装SVN。2&#xff1a;将SVN关联到Android Studio中声明&#xff1a;在这里我使用的And…

数据库 MySQL 如何设置表的主键自增起始值

文章目录表已有数据&#xff0c;truncate 之后再设置 auto_increment&#xff0c;可行表已有数据&#xff0c;delete from 之后再设置 auto_increment&#xff0c;可行主键自增起始值重置查询表名为 tf_user 的 auto_increment 值创建表时设置 AUTO_INCREMENT 参数表已有数据&a…

数独游戏技巧从入门到精通_如何引导孩子入门九宫格数独?掌握4个技巧口诀,孩子思维提升快...

九宫格数独对孩子的思维训练有着非常不错的效果&#xff0c;我们完全可以用其培养孩子对数字的兴趣&#xff0c;并培养孩子严谨的逻辑推理态度。那九宫格数独有没有技巧口诀呢&#xff1f;对于孩子来说&#xff0c;过于复杂的技巧他们也掌握不了。所以&#xff0c;我们培养孩子…

Spring Boot和Apache Camel

随着软件世界的发展&#xff0c;正在开发更加复杂的系统&#xff0c;这些系统必须相互集成。 它从SOA开始&#xff0c;然后一直到微服务。 骆驼是我想到的第一大集成工具&#xff0c;因为如今的骆驼springboot是一个非常强大的组合。 第一步是将骆驼依赖项包含到我们的sprin…

MySQL 如何复制表

文章目录一、复制表结构及数据到新表二、只复制表结构到新表&#xff08;一&#xff09;使用关键字 like&#xff08;二&#xff09;使用 select 语句三、真正完整复制表四、复制表&#xff0c;同时重新定义字段名&#xff08;拷贝旧表中部分的字段&#xff09;五、复制表&…

android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表

在Android 11上&#xff0c;我们可以看到很多的更新都是用来保护隐私的&#xff0c;如果你的app 在使用PackageManger的方法来获取安装的应用列表&#xff0c;那么在Android11上&#xff0c;就需要做一点改变了。我们来看看一下获取应用列表的代码&#xff0c;会不会和你的很相…

python特征选择pso_粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)

作者&#xff1a;Geppetto前面我们介绍了特征选择(Feature Selection&#xff0c;FS)与离散化数据的重要性&#xff0c;总览的介绍了PSO在FS中的重要性和一些常用的方法&#xff0c;介绍了FS与离散化的背景&#xff0c;介绍本文所采用的基于熵的切割点和最小描述长度原则(MDLP)…

postgresql_PostgreSQL开放自由

postgresqlOpen Liberty是源自WebSphere Liberty的有趣的新型OSS Java EE应用服务器。 您可以将Open Liberty配置为使用PostgreSQL作为其默认数据源&#xff0c;如下所示&#xff1a; 将<datasource> &#xff0c; <jdbcDriver>和<library>指令添加到server…

MySQL注释形式_可执行注释语句(/*!...*/)_数据库注释_数据库脚本注释_SQL脚本注释格式_SQL脚本注释分类

文章目录单行注释多行注释可执行注释为什么要把可执行的 SQL 语句写在注释里面呢&#xff1f;注释示例导入数据时禁止/激活索引测试禁止索引再导入数据的效率单行注释 SELECT * from tf_user; # 单行注释&#xff0c;从这个注释符号起直到该行结束 SELECT * from tf_user; -- …

苹果android投屏,iphone怎么投屏到mac?苹果手机投屏到苹果电脑方法

iphone和mac的使用人群越来越多,其中投屏功能却难倒了大部分新手用户,许多使用iPhone以及Mac的用户朋友都还不知道iPhone怎么投屏到mac,好奇的用户朋友马上点击查看iphone投屏到mac教程来实现这个具有科技革新感的功能吧。官方推荐方法1&#xff1a;用数据线- 1.使用lightning线…

微服务java模块内存管理_Java 9模块服务

微服务java模块内存管理接线与查找 Java长期以来都有一个ServiceLoader类。 它是在1.6中引入的&#xff0c;但是自Java 1.2以来就使用了类似的技术。 一些软件组件使用了它&#xff0c;但是使用并不广泛。 它可以用于模块化应用程序&#xff08;甚至更多&#xff09;&#xff0…

学python多大年龄可以学车_多大年龄可以学驾照?

展开全部最少要满 18 岁才32313133353236313431303231363533e4b893e5b19e31333365656662可以考部分车型的《机动车驾驶证》一、根据《中华人民共和国公安部令》第十一条规定申请《机动车驾驶证》的人&#xff0c;应当符合下列规定1. 年龄条件(1)申请小型汽车、小型自动挡汽车、…

Linux 命令之chgrp -- 用来改变文件或目录所属的用户组

文章目录命令介绍常用选项参考示例&#xff08;一&#xff09;修改指定目录及其所含的文件的用户组&#xff08;二&#xff09;更改指定文件的用户组&#xff08;三&#xff09;把指定文件的所属群组设成和参考文件的所属群组相同命令介绍 chgrp 是英语单词“change group”的…

signature=02d2eb69b4d24e2f9bb2956f66089339,Signature Balancing

摘要&#xff1a;Signatures are an important part of the design of a ship. In an ideal situation, signatures must be as low as possible. However, due to budget constraints it is most unlikely to reach this ideal situation. The arising question is which leve…

使用实例工厂方法实例化_一些工厂实例

使用实例工厂方法实例化我时不时地发现自己摸索了一些旧代码&#xff0c;找到了“我在哪里做过类似工厂的事情”的示例。 上周再次发生这种情况时&#xff0c;我决定只查找所有示例&#xff0c;并创建一个示例项目和有关该示例的博客文章。 所以在这篇文章中&#xff0c;我&a…