public interface Enumeration
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement
方法将返回一系列的连续元素。
例如,要输出 Vector
for (Enumeration e = v.elements(); e.hasMoreElements();)System.out.println(e.nextElement());
这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream
中。
注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
import java.util.Enumeration; public class DemoEnumeration {public static void main(String[] args) {//实例化MyDataStruct类型的对象MyDataStruct myDataStruct=new MyDataStruct();//得到描述myDataStruct类型对象的enumeration对象Enumeration
应用一:
import java.util.Enumeration; import java.util.Vector;
public class VectorTest {public static void main(String[] args){Vectormyvector=new Vector ();myvector.addElement("hello1");myvector.addElement("hello2");myvector.addElement("hello3");for(Enumeration enu=myvector.elements();enu.hasMoreElements();){//输出 myvector的所 有元素,可使用以下方法: System.out.println(enu.nextElement());//nextElement()如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素 }Enumeration enu=myvector.elements();while(enu.hasMoreElements()){ //hasMoreElements()测试此枚举是否包含更多的元素 System.out.println(enu.nextElement());}System.out.println(myvector.getClass().getName() + '@' + Integer.toHexString(myvector.hashCode()));} }
应用二:
package enumeration; import java.util.Enumeration; import java.util.Hashtable;public class HashtableTest {public static void main(String[] args) {Hashtablehash = new Hashtable ();hash.put("one", "1");hash.put("two", "2");hash.put("three", "3");Enumeration enumkey = hash.keys();while (enumkey.hasMoreElements()) {String str = (String) enumkey.nextElement();System.out.println("--------" + str);System.out.println("=========" + hash.get(str));if ("1".equals(hash.get(str)))hash.remove(str);}System.out.println("-ssssssssssssssssssss-" + hash.get("three"));enumkey = hash.keys();while (enumkey.hasMoreElements()) {String str = (String) enumkey.nextElement();System.out.println("--------" + str);System.out.println("=========" + hash.get(str));}} }
应用三:
志愿者注册
用户注册:使用request对象获取用户提交数据 您提交的内容如下:
<%String current_param = "";request.setCharacterEncoding("GBK");Enumerationparams = request.getParameterNames();while (params.hasMoreElements()) {current_param = (String) params.nextElement();out.print("参数名:" + current_param);String[] values = request.getParameterValues(current_param);for (int i = 0; i < values.length; i++)out.print(" 参数值:" + values[i]);out.print("
");}%>