web中hasmoreelements_java 中的 Enumeration 在Vector,Hashtable和web中的应用

public interface Enumeration

实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement方法将返回一系列的连续元素。

例如,要输出 Vector v的所有元素,可使用以下方法:

for (Enumeration e = v.elements(); e.hasMoreElements();)

System.out.println(e.nextElement());

这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream中。

注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。

importjava.util.Enumeration;public classDemoEnumeration {public static voidmain(String[] args) {//实例化MyDataStruct类型的对象

MyDataStruct myDataStruct=newMyDataStruct();//得到描述myDataStruct类型对象的enumeration对象

Enumeration myEnumeration =myDataStruct.getEnum();//使用对象循环显示myDataStruct类型的对象中的每一个元素

while(myEnumeration.hasMoreElements())

System.out.println(myEnumeration.nextElement());

}

}//MyEnumeration类实现Enumeration接口

class MyEnumeration implements Enumeration{int count; //计数器

int length; //存储的数组的长度

Object[] dataArray; //存储数据数组的引用

MyEnumeration(int count,intlength,Object[] dataArray){this.count =count;this.length=length;this.dataArray=dataArray;

}public booleanhasMoreElements() {return (count

}publicObject nextElement() {return dataArray[count++];

}

}//MyDataStruct类用于实例化一个简单的、可以提供enumeration对象//给使用程序的数据结果对象

classMyDataStruct{

String[] data=null;

MyDataStruct(){

data=new String[4];

data[0] ="zero";

data[1]="one";

data[2] ="two";

data[3]="three";

}//返回一个enumeration对象给使用程序

EnumerationgetEnum() {return new MyEnumeration(0,data.length,data);

}

}

应用一:

importjava.util.Enumeration;importjava.util.Vector;public classVectorTest {public static voidmain(String[] args){

Vector myvector=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()));

}

}

应用二:

packageenumeration;importjava.util.Enumeration;importjava.util.Hashtable;public classHashtableTest {public static voidmain(String[] args) {

Hashtable hash = 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));

}

}

}

应用三:

志愿者注册

姓名:
email:
性别:

男女

会何种外语:

英语法语俄语德语

注册地区:

北京

上海

个人简介:
用户注册:使用request对象获取用户提交数据

您提交的内容如下:

request.setCharacterEncoding("GBK");

Enumeration params =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("
");

}%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值