心法领悟179:of()方法的解读。
通过查询EnumSet类的API文档,可以发现其不仅提供了固定参数的of()方法,还提供了可变参数的of()方法。如果在使用of()方法时,参数的个数小于等于5,则调用固定参数的of()方法;否则调用可变参数的of()方法。究其原因在于固定参数方法的效率要高于可变参数方法的效率。
技巧:可以使用静态导入来避免使用枚举类型引用枚举元素。(?)
package com.mingrisoft.enumset; public enum Weeks { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURADAY, SUNDAY }
package com.mingrisoft.enumset; import static com.mingrisoft.enumset.Weeks.MONDAY; import static com.mingrisoft.enumset.Weeks.THURSDAY; import java.util.EnumSet; public class EnumSetTest { public static void main(String[] args) { EnumSet<Weeks> week = EnumSet.noneOf(Weeks.class); week.add(MONDAY); System.out.println("EnumSet中的元素:" + week); week.remove(MONDAY); System.out.println("EnumSet中的元素:" + week); week.addAll(EnumSet.complementOf(week)); System.out.println("EnumSet中的元素:" + week); week.removeAll(EnumSet.range(MONDAY, THURSDAY)); System.out.println("EnumSet中的元素:" + week); } }
//result: EnumSet中的元素:[MONDAY] EnumSet中的元素:[] EnumSet中的元素:[MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURADAY, SUNDAY] EnumSet中的元素:[FRIDAY, SATURADAY, SUNDAY]
相关推荐
枚举类型定义了一个新的类型,枚举常量是该类型的实例,它们的值从0开始递增,除非在定义时指定了特定的整数。枚举常量可以被看作是整数,可以直接赋值给枚举变量。例如,定义颜色枚举`enum color`,可以有`red`、`...
实例179 高效的枚举元素集合 228 实例180 高效的枚举元素映射 229 实例181 遍历枚举接口的元素 230 实例182 简单的文件合并工具 231 8.2 泛型使用的简介 233 实例183 自定义非泛型栈结构 233 实例184 使用泛型实现栈...
C#,作为.NET框架的主要开发语言,以其简洁、高效和强大的特性深受开发者喜爱。WinForm则是C#中用于构建桌面应用程序的重要工具,它提供了丰富的控件和设计界面,使得开发者能够轻松创建出功能完备的应用程序。本...
例如,第一个实例是组合问题,这是一个典型的枚举问题。题目的要求是找出由数字1、2、3、4组成的互不相同且无重复数字的三位数。解决这一问题时,我们使用三重循环来遍历所有可能的组合,并且在程序中加入判断条件,...
- 支持多线程编程,使得开发高效的应用程序成为可能。 - 语法简洁明了,易于学习。 - **编写控制台应用程序** - **使用SDK命令行工具编写控制台程序**(第13页) - SDK(Software Development Kit)提供了创建...
教程会通过实例解释如何创建和操作一维、二维数组,以及如何使用指针来访问和修改数组元素。理解指针与数组的关系,以及如何通过指针进行动态内存分配,是C语言进阶学习的关键。 接下来,教程会深入到结构体、共用...
0-1背包问题是一个典型的组合优化问题。假设你有一个容量有限的背包,里面装着不同重量和价值的物品。每个物品只能取或不取,不能分割。目标是选择物品以最大化背包中物品的总价值,同时不超过背包的承重限制。动态...
4. 数组:数组是存储同一类型元素的集合,实例将展示如何声明、初始化数组,以及对数组元素进行读写操作。 5. 指针:C语言的指针是其强大特性之一,它允许直接操作内存地址。通过实例,学习者可以理解指针的声明、...
在Java中,通常通过双重检查锁定、静态内部类或枚举等方式实现。 2. 工厂模式(Factory):提供一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 3. 抽象工厂模式(Abstract ...
C语言是一种强大的、高效的编程语言,它允许直接对内存进行操作,适合处理计算密集型的任务,如枚举算法。 在解决这个问题时,我们可以创建一个二维数组,代表9个空位,数组的每个元素存储一个数字。由于每个数字...
C语言作为计算机科学中的基础编程语言,以其简洁、高效和灵活的特点,被广泛应用于系统开发、软件工程、嵌入式系统等多个领域。本书旨在帮助读者掌握C语言的基本语法、数据类型、控制结构、函数、数组、指针等核心...
《指针、结构、联合和枚举》\n\n在C语言中,指针、结构、联合和枚举是四种非常重要的数据类型和构造,它们各自有着独特的功能和用途,尤其在C51环境下,这些概念显得尤为重要。\n\n首先,让我们深入理解指针。指针是...
C#是一种现代化的面向对象编程语言,以其简洁、高效和功能强大而著称。本教程旨在帮助初学者和进阶用户理解并掌握C#语言的基础与高级特性。 ##### 1.1 HelloWorld - **目的**:介绍如何使用C#编写第一个程序。 - *...
在C语言中,结构体(struct)是一种非常重要的数据类型,它允许我们将多个不同类型的数据组合成一个单一的实体,方便地管理和操作相关联的数据。在第8章“自制容器——结构体和枚举”中,我们将深入理解结构体的使用...
### Swift编程语言核心知识点概述 ...以上概述了《Swift编程语言》中文完整版(CocoaChina精校)的主要知识点,这些概念是学习Swift的基础,掌握它们可以帮助开发者更高效地使用Swift语言进行iOS和macOS应用开发。
它以其高效、灵活和面向对象的特点,成为了计算机科学教育中的重要组成部分。"大学课程C++编程课件"通常会涵盖C++的基础知识、核心概念以及高级特性,旨在帮助学生掌握这一强大的编程工具。 1. C++基础: - 数据...