提供徐州网站建设,wordpress vnew,北京网站平台开发,网站长期建设 运营计划在上一篇博客文章中#xff0c;我们发现了EnumMap用于带有枚举键的映射。 您可能已经观察到#xff0c;还有一个专门针对枚举优化的Set #xff1a; EnumSet 。 我们再次定义一个CoffeeType枚举#xff1a; public enum CoffeeType {ESPRESSO, POUR_OVER, FRENCH_PRESS, … 在上一篇博客文章中我们发现了EnumMap用于带有枚举键的映射。 您可能已经观察到还有一个专门针对枚举优化的Set EnumSet 。 我们再次定义一个CoffeeType枚举 public enum CoffeeType {ESPRESSO, POUR_OVER, FRENCH_PRESS, LATTE, FLAT_WHITE
} 现在我们可以使用EnumSet实现创建此枚举类型的集合 SetCoffeeType 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