在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

遍历枚举接口的元素

2017-2-23 13:22| 发布者: zhangjf| 查看: 836| 评论: 0

摘要: 早在Java SE 1.0版,就存在集合类。集合类可以用来管理一组相关的对象。当需要查看、使用集合中的所有对象时可以使用枚举接口对其进行遍历。枚举接口中定义了两个方法,它通常和向量一起使用。本实例将演示其用法, ...
早在Java SE 1.0版,就存在集合类。集合类可以用来管理一组相关的对象。当需要查看、使用集合中的所有对象时可以使用枚举接口对其进行遍历。枚举接口中定义了两个方法,它通常和向量一起使用。本实例将演示其用法,实例运行效果如图
实现了Enumeration接口的对象可以生成一系列元素,每次生成一个。通过连续调用nextElement()方法可以连续获得枚举接口中的元素。但是如果枚举接口中已经没有元素,调用该方法会抛出异常。因此应该先用hasMoreElements()方法判断枚举中是否还有可用元素。该接口定义了两个方法,其声明如下:
  1. boolean hasMoreElements()
复制代码
测试枚举接口中是否还含有可用元素,因为其返回值是boolean,所以适合放在while循环中。
  1. E nextElement()
复制代码
如果枚举接口中还有可用元素,则返回下一个元素,否则会出现NoSuchElementException。
技巧:Collections类的静态方法enumeration()可以用来将任意集合转换成枚举接口类型。
编写EnumerationTest类,在该类的main()方法中,首先在向量中增加3个元素,然后利用枚举接口将其取出。代码如下:
  1. package com.mingrisoft.enumerationtest;

  2. import java.util.Enumeration;
  3. import java.util.Vector;

  4. public class EnumerationTest {
  5.     public static void main(String[] args) {
  6.         Vector<Integer> vector = new Vector<Integer>();
  7.         for (int i = 0; i < 3; i++) {
  8.             vector.add(i);
  9.             System.out.println("在向量中增加元素:" + i);
  10.         }
  11.         Enumeration<Integer> e = vector.elements();
  12.         while (e.hasMoreElements()) {
  13.             System.out.println("获得向量中的元素:" + e.nextElement());
  14.         }
  15.     }
  16. }
复制代码
说明:Java SE 5.0版中,新增了一个重要特性——泛型。该特性可以用来控制集合中元素的类型。
心法领悟:枚举接口的升级。
随着Java的不断发展,新增加了一个Iterator接口,该接口不仅包括了枚举接口的功能,还增加了一个remove()方法。另外,该接口对方法的名字进行了优化:hasNext()用来测试是否还有可用元素,next()用来获得元素。在新类中,推荐使用Iterator()接口来实现遍历功能。

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 22:31

Copyright 2015-2025 djqfx

返回顶部