快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

永乐国际登录网站:JAVA提高教程(5)认识Set集合之EnumSet



这个类是1.5开始有的,今朝小我应用量险些为零,由于我很少应用罗列,呵呵。我这里也是简单先容一下而已。其应用要领和通俗的Set没有差别,只是构造措施有一些特殊的而已。

packagecollection.lession5;

importjava.util.Arrays;

importjava.util.EnumSet;

importjava.util.Set;

/**

*老紫竹JAVA前进教程(5)-熟识Set聚拢之EnumSet。

*罗列set中所有键都必须来自单个罗列类型

*该罗列类型在创建se永乐国际登录网站t时显式或隐式地指定

*迭代顺序是声明时的顺序。

*不容许null数据。

*

*@author老紫竹

*

*/

publicclassLession5{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

//创建一个指定类型的空的聚拢

EnumSetset=EnumSet.noneOf(MyEnum.class);

set.add(MyEnum.RED);

set.add(MyEnum.GREEN);

set.add(MyEnum.BLUR);

showSet(set);

//创建指定类型的所稀有据的聚拢

EnumSetset2=EnumSet.allOf(MyEnum.class);

showSet(set2);

//创建指定类型指定初始数据的聚拢

EnumSetset3=EnumSet.of(MyEnum.GREEN,MyEnum.RED,MyEnum.WHITE);

showSet(set3);

//创建指定类型,指定范围的聚拢

//包孕界限数据

EnumSetset4=EnumSet.range(MyEnum.RED,MyEnum.YEL永乐国际登录网站LOW);

showSet(set4);

//聚拢的用法和通俗的没有差别

}

/**

*显示Set里面的数据。

*

*@paramset

*/

privatestaticvoidshowSet(Setset){

System.out.println(Arrays.toString(set.toArray()));

}永乐国际登录网站

}

enumMyEnum{

BLACK,WHITE,RED,BLUR,GREEN,YELLOW

}

测试:

1 自己书写 copyOf(Collection c) 和 complementOf(EnumSet s) 的应用要领

2 测试在EnumSet.of 是否容许有重复值,是编译报错照样运行报错

3 测试 EnumSet.range 永乐国际登录网站是否动身点大年夜于终点,也便是反向的range,看编译差错照样运行差错

总结

假如我们要用到对罗列类型的聚拢处置惩罚,这个当然是很好的选择永乐国际登录网站。可惜我自己今朝还用不到,今后在项目里,根据环境再确定吧。

假如range动身点大年夜于重点,呈现如下的非常信息:

Exception in thread "main" java.lang.IllegalArgumentException: RED > BLACK

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: