java 中的 Enumeration 在Vector,Hashtable和web中的应用
生活随笔
收集整理的這篇文章主要介紹了
java 中的 Enumeration 在Vector,Hashtable和web中的应用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
public interface Enumeration<E> 實現(xiàn) Enumeration 接口的對象,它生成一系列元素,一次生成一個。連續(xù)調(diào)用 nextElement方法將返回一系列的連續(xù)元素。
例如,要輸出 Vector<E> v的所有元素,可使用以下方法:
for (Enumeration<E> e = v.elements(); e.hasMoreElements();)System.out.println(e.nextElement()); 這些方法主要通過向量的元素、哈希表的鍵以及哈希表中的值進行枚舉。枚舉也用于將輸入流指定到 SequenceInputStream中。
注:此接口的功能與 Iterator 接口的功能是重復(fù)的。此外,Iterator 接口添加了一個可選的移除操作,并使用較短的方法名。新的實現(xiàn)應(yīng)該優(yōu)先考慮使用 Iterator 接口而不是 Enumeration 接口。
?
import java.util.Enumeration; public class DemoEnumeration {public static void main(String[] args) {//實例化MyDataStruct類型的對象MyDataStruct myDataStruct=new MyDataStruct();//得到描述myDataStruct類型對象的enumeration對象Enumeration<Object> myEnumeration =myDataStruct.getEnum();//使用對象循環(huán)顯示myDataStruct類型的對象中的每一個元素while (myEnumeration.hasMoreElements())System.out.println(myEnumeration.nextElement());} } //MyEnumeration類實現(xiàn)Enumeration接口 class MyEnumeration implements Enumeration<Object> {int count; // 計數(shù)器int length; //存儲的數(shù)組的長度Object[] dataArray; // 存儲數(shù)據(jù)數(shù)組的引用MyEnumeration(int count,int length,Object[] dataArray){this.count = count;this.length= length;this.dataArray=dataArray;}public boolean hasMoreElements() {return (count< length);}public Object nextElement() {return dataArray[count++];} } //MyDataStruct類用于實例化一個簡單的、可以提供enumeration對象 //給使用程序的數(shù)據(jù)結(jié)果對象 class MyDataStruct{String[] data=null;MyDataStruct(){data=new String[4];data[0] ="zero";data[1]="one";data[2] ="two";data[3]="three";}// 返回一個enumeration對象給使用程序Enumeration<Object> getEnum() {return new MyEnumeration(0,data.length,data);} }
?
?
?應(yīng)用一:
import java.util.Enumeration; import java.util.Vector;
public class VectorTest {public static void main(String[] args){Vector<String> myvector=new Vector<String>();myvector.addElement("hello1");myvector.addElement("hello2");myvector.addElement("hello3");for(Enumeration<String> enu=myvector.elements();enu.hasMoreElements();){//輸出 myvector的所 有元素,可使用以下方法: System.out.println(enu.nextElement());//nextElement()如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素 }Enumeration<String> enu=myvector.elements();while(enu.hasMoreElements()){ //hasMoreElements()測試此枚舉是否包含更多的元素 System.out.println(enu.nextElement());}System.out.println(myvector.getClass().getName() + '@' + Integer.toHexString(myvector.hashCode()));} }
?
應(yīng)用二:
package enumeration; import java.util.Enumeration; import java.util.Hashtable;public class HashtableTest {public static void main(String[] args) {Hashtable<String, String> hash = new Hashtable<String, String>();hash.put("one", "1");hash.put("two", "2");hash.put("three", "3");Enumeration<String> 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));}} }
?
應(yīng)用三:
<html><head><base href="<%=basePath%>"><title></title></head><body><center><h2>志愿者注冊</h2><FORM action="doSubmit.jsp" method="post"><table border=0><tr valign="top"><td align="right">姓名:</td><td align="left"><input type="text" name="name" maxlength="50" size="40"value="chenxd" /></td></tr><tr valign="top"><td align="right">email:</td><td align="left"><INPUT type="text" name="email" maxlength="80" size="40"value="yourname@beijing2008.com" /></td></tr><tr valign="top"><td align="right">性別:</td><td align="left"><INPUT type="radio" name="sex" value="男" checked="true" />男<INPUT type="radio" name="sex" value="女" />女</td></tr><tr valign="top"><td align="right">會何種外語:</td><td align="left"><input type="checkbox" name="lang" value="英語" checked="true" />英語<input type="checkbox" name="lang" value="法語" />法語<input type="checkbox" name="lang" value="俄語" />俄語<input type="checkbox" name="lang" value="德語" />德語</td></tr><tr valign="top"><td align="right">注冊地區(qū):</td><td align="left"><select name="regTelephone"><option value="800-810-2008">北京</option><option value="800-820-2008" selected="true">上海</option></select></td></tr><tr valign="center"><td align="right">個人簡介:</td><td align="left"><textarea rows="5" cols="40" name="intro"></textarea></td></tr><tr valign=top><td colspan="2" align="center"><INPUT type="submit" value="注冊" /><INPUT type="reset" value="重置"/></td></tr></table></FORM></center></body> </html>
?
<html><head><base href="<%=basePath%>"><title>用戶注冊:使用request對象獲取用戶提交數(shù)據(jù)</title></head><body><h2>您提交的內(nèi)容如下:</h2><%String current_param = "";request.setCharacterEncoding("GBK");Enumeration<String> params = request.getParameterNames();while (params.hasMoreElements()) {current_param = (String) params.nextElement();out.print("參數(shù)名:" + current_param);String[] values = request.getParameterValues(current_param);for (int i = 0; i < values.length; i++)out.print(" 參數(shù)值:" + values[i]);out.print("<br>");}%></body> </html>
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/mingforyou/archive/2011/11/02/2233514.html
總結(jié)
以上是生活随笔為你收集整理的java 中的 Enumeration 在Vector,Hashtable和web中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 割草机多少钱一台?
- 下一篇: 腾讯联姻开心网意欲何为