- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java的hashtable的用法(1)
Vector允许我们用一个数字从一系列对象中作出选择,所以它实际是将数字同对象关联起来了。但假如我们想根据其他标准选择一系列对象呢?堆栈就是这样的一个例子:它的选择标准是“最后压入堆栈的东西”。这种“从一系列对象中选择”的概念亦可叫作一个“映射”、“字典”或者“关联数组”。从概念上讲,它看起来象一个Vector,但却不是通过数字来查找对象,而是用另一个对象来查找它们!这通常都属于一个程序中的重要进程。
在Java中,这个概念具体反映到抽象类Dictionary身上。该类的接口是非常直观的size()告诉我们其中包含了多少元素;isEmpty()判断是否包含了元素(是则为true);put(Object key, Object value)添加一个值(我们希望的东西),并将其同一个键关联起来(想用于有哪些信誉好的足球投注网站它的东西);get(Object key)获得与某个键对应的值;而remove(Object Key)用于从列表中删除“键-值”对。还可以使用枚举技术:keys()产生对键的一个枚举(Enumeration);而elements()产生对所有值的一个枚举。这便是一个Dictionary(字典)的全部。Dictionary的实现过程并不麻烦。下面列出一种简单的方法,它使用了两个Vector,一个用于容纳键,另一个用来容纳值:
//: AssocArray.java// Simple version of a Dictionaryimport java.util.*;
public class AssocArray extends Dictionary {private Vector keys = new Vector();private Vector values = new Vector();public int size() { return keys.size(); }public boolean isEmpty() {return keys.isEmpty();}public Object put(Object key, Object value) {keys.addElement(key);values.addElement(value);return key;}public Object get(Object key) {int index = keys.indexOf(key);// indexOf() Returns -1 if key not found:if(index == -1) return null;return values.elementAt(index);}public Object remove(Object key) {int index = keys.indexOf(key);if(index == -1) return null;keys.removeElementAt(index);Object returnval = values.elementAt(index);values.removeElementAt(index);return returnval;}public Enumeration keys() {return keys.elements();}public Enumeration elements() {return values.elements();}// Test it:public static void main(String[] args) {AssocArray aa = new AssocArray();for(char c = a; c = z; c++)aa.put(String.valueOf(c),String.valueOf(c).toUpperCase());char[] ca = { a, e, i, o, u };for(int i = 0; i ca.length; i++)System.out.println(Uppercase: +aa.get(String.valueOf(ca[i])));}} ///:~在对AssocArray的定义中,我们注意到的第一个问题是它“扩展”了字典。这意味着AssocArray属于Dictionary的一种类型,所以可对其发出与Dictionary一样的请求。如果想生成自己的Dictionary,而且就在这里进行,那么要做的全部事情只是填充位于Dictionary内的所有方法(而且必须覆盖所有方法,因为它们——除构建器外——都是抽象的)。
Vector
您可能关注的文档
最近下载
- 货物质量保证措施方案.docx VIP
- 九年级全一册英语单词默写表(人教版).docx VIP
- 香港朗文小学英语Longman-book4B-Chapter1-课件-Join-ourclub.ppt VIP
- GBT25198__压力容器封头.pdf VIP
- SYT7301-2016陆上石油天然气开采含油污泥资源化综合利用及污染控制技术要求.doc
- 机房断电应急预案.docx
- 电力电缆课程设计220KV 交联聚乙烯绝缘电力电缆结构设计.doc
- 《国有企业管理人员处分条例》解读.pptx VIP
- 科普版四年级上 英语 课文 带翻译.pdf VIP
- 急救相关知识考试题库300题(含答案).pdf VIP
文档评论(0)