关闭

Java中如何获取Enumeration集合

标签: enumeration
879人阅读 评论(0) 收藏 举报
分类:

创建一个Enumeration集合:

今天看到老师上课用到了下述的第二种方法,然后也提到了第一种方法,我感觉还是有必要记录一下,以后还会记录更过。

 

说明: 我们知道Enumeration是一个接口,但是往往我们在开发中,要使用API中某个类的方法或构造方法的时候,要传递一个Enumeration类型的集合,而它唯一的一个子接口NamingEnumeration<T>也是一个接口,这时候,我们可以通过如下的方法去获得相应的Enumeration集合。

方法一:通过Vector集合来获得(但是Vector本身不是一很高效的集合)。

Step1: 首先创建一个Vector类型集合,将欲放在Enumeration中的元素先一个个的添加到Vector集合中来,添加可以使用add(E o) 将指定元素追加到此集合的末尾,当然还可以使用其他的重载的add方法。

Step2: 然后在使用Vector集合中的elements() 返回此集合的枚举类型集合。

                 

  1. Vector<String> v = new Vector<String>();  
  2.                   v.add("A");  
  3.                   v.add("B");  
  4.                   v.add("C");  
  5.                  Enumeration<String> en = v.elements();  

Step3: 然后就可以它的两个方法去操作里面的元素了。

  1. Vector<String> v = new Vector<String>();  
  2.                  v.add("A");  
  3.                  v.add("B");  
  4.                  v.add("C");  
  5.                 Enumeration<String> en =  v.elements();  
  6.                 while(en.hasMoreElements())  
  7.                 {  
  8.                         System.out.println(en.nextElement());  
  9.                 }  


方法二:利用List集合+Iterator+匿名内部类方法实现(该方式看是复杂,但是比较灵活,有点技术含量)

Step1: 首先创建一个ArrayList集合,将欲放在Enumeration中的元素先一个个的添加到ArrayList集合中来,add(E o) 将指定的元素追加到此列表的尾部,当然还可以使用其他的重载的add方法。

  1. ArrayList<String> list = new ArrayList<String>();  
  2.                  list.add("A");  
  3.                  list.add("B");  
  4.                  list.add("C");  


Step2: 拿到ArrayList的Iterator迭代器,并将Iterator修饰为final,这里使用final修饰,是为后面的匿名内部类方便访问提供条件。

         final Iterator<String> it = list.iterator();

Step3: 创建一个Enumeration集合,但是要注意,Enumeration是一个接口,是不能直接实例化对象的,那么只能通过匿名内部类的方式去构建出它的子类对象,因为匿名内部类返回的是该类的子类对象,但是必须实现该类的所有方法,这里要实现Enumeration中的两个抽象方法,即hasMoreElements()和nextElements(),所以这里要和上述的迭代器关联实现两个方法,就可以创建一个Enumeration集合了,而且里面是理所当然的包含了ArrayList中的所有元素了。

  1. Enumeration<String> en = new Enumeration<String>()  
  2.                  {  
  3.                                          @Override  
  4.                                       public boolean hasMoreElements()  
  5.                                        {  
  6.                                             return it.hasNext();  
  7.                                        }  
  8.                                 @Override  
  9.                                     public String nextElement()  
  10.                                     {  
  11.                                              return it.next();  
  12.                                     }  
  13.                  };  
  14.            while(en.hasMoreElements())  
  15.            {  
  16.                    System.out.println(en.nextElement());  
  17.            }  
  18.    
  19.   

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java 获取Enumeration类型的集合方法

创建一个Enumeration集合: 今天看到老师上课用到了下述的第二种方法,然后也提到了第一种方法,我感觉还是有必要记录一下,以后还会记录更过。   说明: 我们知道Enumeration是一个接口...
  • hua631150873
  • hua631150873
  • 2013-09-14 23:54
  • 3542

[疯狂Java]集合:Collections工具类、Enumeration(摒弃)

1. Collections工具类简介:     1) Java提供的专门用来操作集合的工具类(全部都是静态工具方法),可以操作Set、List、Map;     2) 主要功能包括:        ...
  • Lirx_Tech
  • Lirx_Tech
  • 2016-06-01 13:37
  • 735

Java类集框架——foreach及Enumeration接口

学习目标 掌握foreach对集合的输出支持。 掌握Enumeration接口及使用要求。 JDK1.5之后增加了许多新的功能,其中foreach可以输出数组,实际上foreach语法中...
  • u013087513
  • u013087513
  • 2016-08-19 11:01
  • 662

java中使用反射机制获取实体类集合的某个属性值

需求今天遇到一个需求。需要从几个对象的集合中取出对象的某些属性。怎么办呢?哪就利用反射机制写个方法吧。思路入参首先是几个对象的集合,那么方法的入参就是 list 因为是不同对象所以还是得用泛型。用反射...
  • u012373815
  • u012373815
  • 2017-06-12 23:46
  • 1454

简单介绍java Enumeration 很多类都是实现了这个接口的 比如StringTokenizer类 方法很类似

转载自:http://blog.csdn.net/zhiweianran/article/details/7672433 Enumeration接口 Enumeration接口本身不是一个数据结构。...
  • wuxinliulei
  • wuxinliulei
  • 2013-08-18 08:31
  • 1267

Java数据结构(三)——集合总结及集合的线程安全

Vector,HashTable是线程安全的集合类,不过,这两种类是很早的用法,现在一般要尽量少采用 set –没有重复项目的集合 有三种特定类型的集可用 HashSet-基于散列表的集,加进散...
  • King1425
  • King1425
  • 2017-04-17 16:59
  • 1518

枚举类Enumeration的使用以及与iterator的区别

ps:iterator和枚举类的区别 1.iterator多了一个删除元素的api 2.其次在定义名称上貌似改进了些 下面是转载的枚举类使用: Enumeration  En...
  • techbirds_bao
  • techbirds_bao
  • 2013-01-22 13:45
  • 6599

Java enum的集合用法

import java.util.EnumMap; import java.util.EnumSet; public class LightTest { // 1.定义枚举类型 public ...
  • u010002184
  • u010002184
  • 2015-10-09 20:25
  • 567

Java properties存储与读取遍历

一、向Properties中添加属性 public Object setProperty(String key, String value) 调用...
  • tterminator
  • tterminator
  • 2016-03-02 16:33
  • 2609

Java中的集合功能整理

网上对集合的功能介绍有很多,也很详细。我在这里只能是对常用的几个集合类进行功能的简单梳理。小白一个。这里主要参考孙宇霞、王健编著的《Java编程从基础到应用》。内容仅供学习交流。 1.选择合适的集合...
  • nishuihanliu
  • nishuihanliu
  • 2016-05-01 22:02
  • 1866
    个人资料
    • 访问:198271次
    • 积分:2215
    • 等级:
    • 排名:第19622名
    • 原创:36篇
    • 转载:30篇
    • 译文:0篇
    • 评论:46条
    文章分类
    最新评论