实现Enumeration接口的对象,它生成一系列元素,一次生成一个。连续调用nextElement方法将返回一系列连续的元素。
例如要输出Vector<E> V中的所有元素,可使用以下方法:
写道
for(Enumeration<E> e = v.elements(); e.hasMoreElements();){
System.out.println(e.nextElement);
}
注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用
Iterator 接口而不是 Enumeration 接口。
Hashtable<K,V>类实现一个哈希表,该哈希表将键映射到相应的值。
Hashtable<String, Vector> table = new Hashtable<String, Vector>();
Vector<String> v1 = new Vector<String>();
v1.add("caocao");
v1.add("zhangliao");
v1.add("zhenji");
table.put("wei", v1);
Vector<String> v2 = new Vector<String>();
v2.add("liubei");
v2.add("zhangfei");
v2.add("xiangxiang");
table.put("shu", v2);
Vector<String> v3 = new Vector<String>();
v3.add("shunquan");
v3.add("luxun");
v3.add("qiao");
table.put("wu", v3);
for(Enumeration<String> e = table.keys();e.hasMoreElements();){
String key = e.nextElement();
for(Enumeration<String> v = table.get(key).elements();v.hasMoreElements();){
String qiang = v.nextElement();
System.out.println(qiang);
}
}
集合排序:
Collections.sort(List);
分享到:
相关推荐
在这种情况下,使用Hashtable和Vector作为数据容器是理想的选择,因为它们是J2ME平台支持的数据结构。本篇文章将详细介绍如何在J2ME环境下将JSON数据解析为Hashtable。 JSON(JavaScript Object Notation)是一种轻...
使用`keys()`和`elements()`方法返回的`Enumeration`对象,可以迭代`Hashtable`中的键和值。例如,可以通过`while`循环或增强的`for`循环进行遍历。 6. **自定义`Dictionary`实现**: 如示例代码所示,`...
例如,`Vector` 和 `Hashtable` 这些旧的集合类仍然支持 `Enumeration`,但在新代码中,应尽量避免使用这些过时的集合类型,转而使用 `ArrayList`、`HashMap` 等现代集合类,它们默认支持 `Iterator`。 总结来说,`...
`Enumeration`是Java 1.0版本引入的接口,主要用于`Vector`和`Hashtable`等古老的集合类。这些类在设计时未考虑多线程安全性,但其实现的`Enumeration`在遍历时添加了同步措施。而`Iterator`是在Java 1.2中引入的,...
`Enumeration`接口用于遍历`Vector`或其他容器中的元素,通过`hasMoreElements()`检查是否有更多元素,`nextElement()`获取下一个元素。 集合框架是Java中处理一组对象的标准库,包括接口(如`Collection`、`List`...
在处理数据的进出顺序上,Vector和ArrayList遵循先进先出(FIFO)原则,而Hashtable和HashMap则是后进先出(LIFO),这与它们的实现方式有关。例如,当使用`remove()`方法时,最后一个添加的元素会被首先移除。 ...
Enumeration是老式的迭代方式,主要适用于Vector和Hashtable,而Iterator是Java集合框架中更现代的迭代方式,支持foreach循环,可用于所有集合。 6. **集合框架的组件** 包括三大核心部分:集合(Collection)、图...
枚举器主要用于遍历Vector和Hashtable类型集合元素。可以通过elements()方法获得一个Enumeration对象,然后使用hasMoreElements()和nextElement()方法遍历集合中的元素。 枚举器遍历的一个例子是: ```java ...
与HashMap类似,Hashtable通过哈希函数存储和检索元素,但它是线程安全的,适合多线程环境。然而,由于HashMap的出现,Hashtable现在较少使用,除非需要线程安全的特性。 7. 属性(Properties) Properties类继承自...
特别是针对标题中提到的`Enumeration`和`Iterator`迭代器,以及各种常见的容器类,如`Collection`、`List`、`Set`、`Map`以及它们的具体实现,例如`ArrayList`、`LinkedList`、`Vector`、`HashMap`和`Hashtable`。...
- `HashTable`使用`Enumeration`遍历。 - `HashMap`和`TreeMap`使用`Iterator`遍历。 4. **排序**: - `TreeMap`按照键的自然顺序或者自定义比较器进行排序。 - `HashMap`和`HashTable`无特定顺序,但在Java 8...
在java.util包中,包含了一些Java集合框架的基础类,比如Enumeration、Hashtable、Stack、Vector等,以及日期和时间处理相关的类,如Calendar、Date、TimeZone等。同时,提及了Timer和TimerTask,它们用于任务调度,...
例如,老版的Vector和HashTable等类就支持枚举接口。 2. **位集合(BitSet)**:BitSet 是一种特殊的集合,用于存储和操作二进制位。它非常适合处理布尔值或者需要跟踪大量状态标志的情况。位集合允许高效的位操作...
3. 枚举迭代:Hashtable使用Enumeration遍历键和值,而HashMap使用迭代器(Iterator)。 【SQL知识】 在SQL查询中,要合并USERLIST和CHARGE表并按ACCOUNT分组求和,可以使用左连接(LEFT JOIN)和聚合函数SUM。根据...
List接口的重要实现类有ArrayList和Vector。ArrayList是非同步的,性能较高,适合于在单线程环境中使用;而Vector是同步的,保证线程安全,但执行效率相对较低。 - **ArrayList**:基于动态数组实现,提供快速随机...
HashTable 使用 Enumeration,HashMap 使用 Iterator。HashTable 中 hash 数组的默认大小是 11,增加方式的 old*2+1,HashMap 中 hash 数组的默认大小是 16,增长方式一定是 2 的指数倍。TreeMap 能够把它保存的记录...
- Vector和ArrayList都基于动态数组实现,适用于随机访问,但Vector线程安全,ArrayList则不是。 - LinkedList是链表结构,适合在任意位置插入和删除,但不适合频繁的随机访问。 三、HashTable、HashMap和TreeMap的...
尽管现在已被`Iterator`取代,但在处理`Hashtable`和`Vector`等旧API时仍可能用到。`EnumerationDemo.java`可能会展示如何使用Enumeration遍历容器。 7. **TreeSet**:`TreeSet`实现了`SortedSet`接口,其元素按...
在多线程环境中,Java集合框架提供了一些线程安全的类,如Vector、Stack和Hashtable。然而,它们由于内部的同步机制导致性能较低。从JDK 1.2开始,更多的非线程安全类被引入,例如ArrayList和HashMap,它们在单线程...
在线程安全的集合类中,Vector、Stack、Hashtable和Enumeration等类都是线程安全的,但性能较低,重量级的。这些类都是JDK1.1中引入的旧式集合类,现在已经被新的集合类所取代。 Java集合类提供了多种方式来存储和...