老紫竹JAVA提高教程(5)-认识Set集合之EnumSet

网络安全隔离技术解析:单向网闸与双向网闸的核心差异与应用场景 本文深入解析网络安全隔离技术中的单向网闸与双向网闸,详细比较两者的核心差异与应用场景。单向网闸通过物理隔离确保数据单向流动,适用于金融交易等高风险场景;双向网闸则支持严格安检的双向数据交互,常见于医疗、政务等领域。文章还提供了选型建议和技术发展趋势,帮助读者根据安全需求和业务场景选择最适合的网闸解决方案。 阅读详情
 
原文地址:http://www.java2000.net/p11847

这个类是1.5开始有的,目前个人使用量几乎为零,因为我很少使用枚举,呵呵。我这里也是简单介绍一下而已。其使用方式和普通的Set没有区别,只是构造方法有一些特殊的而已。

  1. package collection.lession5;
  2. import java.util.Arrays;
  3. import java.util.EnumSet;
  4. import java.util.Set;
  5. /**
  6.  * 老紫竹JAVA提高教程(5)-认识Set集合之EnumSet。<br>
  7.  * 枚举 set 中所有键都必须来自单个枚举类型<br>
  8.  * 该枚举类型在创建 set 时显式或隐式地指定<br>
  9.  * 迭代顺序是声明时的顺序。<br>
  10.  * 不允许null数据。
  11.  * 
  12.  * @author 老紫竹 JAVA世纪网(java2000.net)
  13.  * 
  14.  */
  15. public class Lession5 {
  16.   /**
  17.    * @param args
  18.    */
  19.   public static void main(String[] args) {
  20.     // 创建一个指定类型的空的集合
  21.     EnumSet<MyEnum> set = EnumSet.noneOf(MyEnum.class);
  22.     set.add(MyEnum.RED);
  23.     set.add(MyEnum.GREEN);
  24.     set.add(MyEnum.BLUR);
  25.     showSet(set);
  26.     // 创建指定类型的所有数据的集合
  27.     EnumSet<MyEnum> set2 = EnumSet.allOf(MyEnum.class);
  28.     showSet(set2);
  29.     // 创建指定类型指定初始数据的集合
  30.     EnumSet<MyEnum> set3 = EnumSet.of(MyEnum.GREEN, MyEnum.RED, MyEnum.WHITE);
  31.     showSet(set3);
  32.     // 创建指定类型,指定范围的集合
  33.     // 包含边界数据
  34.     EnumSet<MyEnum> set4 = EnumSet.range(MyEnum.RED, MyEnum.YELLOW);
  35.     showSet(set4);
  36.     
  37.     // 集合的用法和普通的没有区别
  38.   }
  39.   /**
  40.    * 显示Set里面的数据。
  41.    * 
  42.    * @param set
  43.    */
  44.   private static void showSet(Set set) {
  45.     System.out.println(Arrays.toString(set.toArray()));
  46.   }
  47. }
  48. enum MyEnum {
  49.   BLACK, WHITE, RED, BLUR, GREEN, YELLOW
  50. }
测试:
  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
RK3588部署Zipformer模型问题总结 本文分享了在RK3588嵌入式设备上部署小米Zipformer语音识别模型时遇到的问题及解决方法。主要遇到两个问题:1)在rknn_model_zoo例程编译时出现静态库版本不兼容,通过重新编译kaldi-native-fbank库并修改链接路径解决;2)sherpa-onnx编译时提示缺少portaudio库,通过修改编译脚本启用相关宏定义后成功编译。最终成功在RK3588上运行Zipformer模型,测试结果显示该模型具有较好的识别效果和实时性(RTF=0.22),验证了其在边缘设备上的适用性。 阅读详情

相关推荐

加湿器方案-DLT8M04TS-杰力科创

基本组成: 一个触摸按键、一组RGB灯、一个雾化片、一个充电IC。 产品功能: 第一次上电光机状态,RGB红/绿/红灯依次闪烁灭; 2、按键功能:短按开关机和三档喷雾工作模式,第一次短按持续喷雾,短按第二次喷3S,停3S,短按第三次关闭喷雾模式,依次循环; 在喷雾或是不喷雾的状态下长按1.5S RGB灯渐变,一直循环,第二次长按当前灯光闪烁一下常亮,第三次长按关机; 3、持续喷雾定时5小时自动断电,间歇喷雾定时10小时自动断电,若在间歇工作时有切换为持续喷雾,那间歇喷雾的...

JLKCsz的博客 513

Java 数据结构 -- 18.Java 8 数据结构补充介绍 EnumSet

前言 书接上文,上一篇对 TreeMap 进行了介绍与分析,对于 Java 大部分经典数据结构都已介绍完毕,本篇将对 EnumSet 进行介绍与分析。

wufeiova的博客 409

人体分割笔记总结

人体分割 人体分割(human parsing),属于语义分割任务的子任务,旨在对人类图像进行像素级的是细粒度分割(例如,划分出身体部位和服装)。根据不同的场景,又可以分为单人人体解析(single-person human parsing)和多人人体解析(multi-person human parsing,或者 instance-level human parsing)。除此之外,按照处理媒介分类,还可以分为基于图像的人体解析和基于视频的人体解析。 对于人体解析任务,常用的度量指标包括 Pixel a

jacke121的专栏 4257

goland

goland注册码 jetbrainsIDE一直都不错,推荐大家使用 下载地址https://www.jetbrains.com/go 选择license server 输入 http://idea.youbbs.org 完成

qq_17088237的博客 1万+

节省人力成本40%!仓储物流AI机器人调度系统实战案例(含路径规划算法与系统架构图)

首先,我们需要定义一个Node类self.x = x # 节点x坐标self.y = y # 节点y坐标self.g = g # 从起点到当前节点的实际成本(g值)self.h = h # 从当前节点到终点的启发式成本(h值)self.f = g + h # 总成本(f值)self.parent = None # 父节点(用于回溯路径)self.task_id = task_id # 任务IDself.priority = priority # 任务优先级(1=最高,5=最低)

小程序开发 950

华为OD统一考试 - 模拟消息队列(Java & Python& JS & C++ & C )

让我们来模拟一个消息队列的运作,有一个发布者和若干消费者,发布者会在给定的时刻向消息队列发送消息,

算法大师! 3519

Java多线程之syncronized(二)

package three.day.thread.my; public class SyncronizedTs { public static void main(String[] args) { Thread tt = new Thread(new ThreadTest()); tt.start(); ThreadTest t = new ThreadTest();

QQ1130141391的专栏 1202

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

海洋CMS admin_notify.php 接口处存在远程代码执行漏洞,经过身份验证的远程攻击者可利用该漏洞执行任意代码,写入后门文件,进而控制整个web服务器。

0xSec 2719

Set集合之EnumSet

这个类是1.5开始有的. 1.package collection.lession5; 2. 3.import java.util.Arrays; 4.import java.util.EnumSet; 5.import java.util.Set; 6. 7./** 8. * 老紫竹JAVA提高教程(5)-认识Set集合之EnumSet。<br>...

weixin_33858485的博客 96

【MATLAB】STM32电机调速闭环控制工程

本文提出了一种基于MATLAB仿真与STM32实现的直流电机闭环PID调速控制方案。通过MATLAB建立电机数学模型并进行参数整定,仿真验证了增量式PID算法在启停、稳态和抗扰动方面的优越性能。基于STM32F103搭建了硬件系统,实现了编码器测速、定时中断控制、PWM输出等功能。实测表明,该系统转速超调<2%、稳态误差±2r/min,具备快速响应和强抗扰能力。相比开环控制,闭环调速显著提升了动态性能和稳态精度。方案提供了完整的仿真代码和嵌入式工程源码,可直接应用于智能小车、工业传动等场景,具有较高的

unber的博客 50

Open Dynamics Engine(ODE)物理引擎基础教程(I)——特点介绍

下一教程 Open Dynamics Engine(ODE)物理引擎基础教程(II)——相关概念 (在这一教程中将学习刚体、关节、碰撞的概念在ODE中的特点) 本文结构引言介绍特点使用ODE总结 引言 本文翻译自ODE官方教程英文版,有些地方增加了自己的理解。这一节介绍ODE的相关概念。 基础教程英文原版链接【http://ode.org/wiki/index.php?title=Manua...

腿足机器人领域 1680

EnumSet 的一般使用

 这个类是jdk 1.5才开始有的:   import java.util.Arrays;import java.util.EnumSet;import java.util.Set;/**# * 老紫竹JAVA提高教程(5)-认识Set集合之EnumSet。# * 枚举 set 中所有键都必须来自单个枚举类型# * 该枚举类型在创建 set 时显式或隐式地指定

bolink5的专栏 2150

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老紫竹JAVA提高教程-System.arraycopy方法的使用

 不废话,直接看代码就全清楚了。里面 // 后面的是运行的结果 import java.util.Arrays;/** * 老紫竹JAVA提高教程 - System.arraycopy方法的使用。 * * 从指定源数组中复制一个数组,复制从指定的位置开始, * 到目标数组的指定位置结束 * * @author 老紫竹的家(java2000.net,laoz

老紫竹的专栏 4万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老紫竹JAVA提高教程-信号量(Semaphore)在生产者和消费者模式的使用

 Semaphore 信号量,就是一个允许实现设置好的令牌。也许有1个,也许有10个或更多。谁拿到令牌(acquire)就可以去执行了,如果没有令牌则需要等待。执行完毕,一定要归还(release)令牌,否则令牌会被很快用光,别的线程就无法获得令牌而执行下去了。 请仔细体会里面关于仓库的处理,1 是如何保证入库时,如果仓库满就等待,2 出库时,如果仓库无货就等待的。3

老紫竹的专栏 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

老紫竹JAVA基础培训(9),控制台键盘输入(System.in)

    // 这段代码用来读取键盘输入的整数    // 请注意,你需要输入合法的整数    int age = Integer.MIN_VALUE;    while (age == Integer.MIN_VALUE) {      System.out.print("请输入你的年龄:");      try {        age = scan.nextInt();      } catc

老紫竹的专栏 7254

老紫竹B/S文件管理系统(webfile 0.1版)发布

 老紫竹B/S文件管理系统=================功能介绍-------        1 全部用JSP编写        2 文集列表,支持页面排序(点击标题)        3 编辑小于指定大小的文件(默认1M)        4 上传文件        5 下载文件        安装配置-------        1 标准的W

老紫竹的专栏 5900

跟老紫竹学Java - JAVA自测题栏目正式上线,来测测你的Java功力到底如何!

题目基本上比较基础,但有一些如果不认真还是不行的。栏目地址:http://www.java2000.net/selftest/ 题目在不断的更新中。

老紫竹的专栏 5688

老紫竹JAVA提高教程(2)-认识Set集合之HashSet

原文地址:http://www.java2000.net/p11767 集合在Java里面的作用非凡,我们常用的有Set,List和Map三种,我们先熟悉一下Set,特别是HashSet的使用package collection.lession2;import java.util.HashSet;import java.util.Set;/** * 老紫竹JAVA提高教程(2)-认识Set集合之H

老紫竹的专栏 5567

老紫竹提高教程 - Java代理服务器和NTLM认证的使用

机器在局域网里面,使用了NTLM的认证,不能直接访问外网,本机也没有安装 ISA 的Client这个代码包含了2部分1 如果你使用代理服务器,那么只需要设置Properties部分就行了2 如果你使用NTML,那么用那个Authenticator 就可以了。import java.net.Authenticator;import java.net.PasswordAuthe

老紫竹的专栏 5076

跟老紫竹学Java-图书销售系统

原文地址:http://www.java2000.net/f398博客链接如下跟老紫竹学Java-图书销售系统-项目下载跟老紫竹学Java-图书销售系统-POJO类跟老紫竹学Java-图书销售系统-辅助类和配置文件跟老紫竹学Java-图书销售系统-数据库结构跟老紫竹学Java-图书销售系统-服务接口和实现跟老紫竹学Java-图书销售系统-主页,注册,登录,退出登录等常规页面跟老紫竹学Java-图书

老紫竹的专栏 4920

跟老紫竹学Java-留言板项目

本项目将提供一个可以注册,发言和回复的留言板。提供自己书写的分页功能。 提供JDBC和Hibernate两个后台版本的实现提供 JSTL和JSP的两个前台版本的实现数据库结构和POJO http://blog.csdn.net/java2000_net/archive/2008/07/20/2680146.aspx 服务接口 http://blog.csdn.net/java2

老紫竹的专栏 4504

老紫竹JAVA提高教程(4)-认识Set集合之TreeSet

原文地址:http://www.java2000.net/p11837TreeSet 是用来进行集合排序的,请注意他和LinkedHashSet的区别。TreeSet是按照一定的规则,将加入到集合里面的数据进行排序,而LinkedHashSet是严格按照你放入集合的顺序进行使用。先看源代码package collection.lession4;import java.util.Arra

老紫竹的专栏 4234

老紫竹JAVA提高教程(3)-认识Set集合之LinkedHashSet

 原文地址:http://www.java2000.net/p11794有序的集合,就是LinkedList,内部通过双向链表实现,LinkedHashMap为基础。package collection.lession3;import java.util.Arrays;import java.util.HashSet;import java.util.LinkedHashSet;import 

老紫竹的专栏 4145

老紫竹JAVA基础培训(6),For循环语句的使用

原文:http://www.java2000.net/p11512在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用。所以我这里就把for循环重点介绍一下。package lession6;/** * 老紫竹JAVA基础培训(6),For循环语句的使用。 *  * @author 老紫竹 JAVA世纪网(java2000.net) *  */public cl

老紫竹的专栏 3983

跟老紫竹学Java-留言板-回复页面(JSP)

 原文地址:http://www.java2000.net/viewthread.jsp?tid=7342以下是图片,不是文字 <!--google_ad_client = "pub-2908059660288034";/* 728x90,首页中间 创建于 08-8-14 */google_ad_slot = "5903610560";google_ad_wi

老紫竹的专栏 3858

跟老紫竹学Java的说明

 考虑再三,自己最熟悉的还是这么多年使用Java在服务器端和Web方面的编程经验了。决定重新整理自己这么多年的经验,看看到底自己都会啥?考虑到实际情况,将采用虚拟项目的形式,根据项目的大小,从项目的分析设计到开发,记录整个过程。项目范围从小芝麻到大西瓜。每个项目都希望得到大家的反馈,以便不断完善,让不同的朋友都能从对应的项目中得到帮助,哪怕一点点也好。当让,更希望更多的人加入项目的开发

老紫竹的专栏 3781
上一篇: 为什么人总是那么现实?有些东西真不会做,可真没有人愿意帮忙。发了也无人问津呢?
下一篇: 应对感冒的12种家传祖方、偏方
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值