博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
词典的实现(1)--Map的底层实现
阅读量:5271 次
发布时间:2019-06-14

本文共 1773 字,大约阅读时间需要 5 分钟。

1,词典是这样的一种数据结构:它能根据给定的键(索引值,key)来查找其对应的值(value)是否存在,在JAVA中主要由java.util.HashMap来完成该功能。如电话本就是词典的一个具体实例,其中名字作为键,电话号码作为值。客户端可以通过构造一个电话本来进行查询。本系列文章自己编程实现了Map这一数据结构,模拟实现了词典的功能,并给出了词典的两个具体应用---①根据姓名查找电话号码;②统计单词的出现频率

2,ADT词典接口DictionaryInterface.java的定义

词典接口定义了该词典所具有的基本功能,如添加元素、查询元素……这样,具体的实现类通过implements该接口完成具体的电话本功能的实现。

详细解释看代码注释

DictionaryInterface.java代码如下:

1 package dictionary; 2  3 import java.util.Iterator; 4  5 public interface DictionaryInterface
{ 6 /* 7 * Task: 将一个新元素插入词典。若给定的键已在词典中,则替换相应的值 8 * @param key 新元素的的查找键 9 * @param value 与键关联的值对象10 * @return 若新元素被插入到词典中则返回null,若与key关联的value被替换,则返回原来的value11 */12 public V add(K key, V value);13 14 /*15 * Task: 从词典中删除一个指定的元素16 * @param key 欲删除的元素的key对象17 * @return 返回与key关联的value,若不存在这样的对象则返回null18 */19 public V remove(K key);20 21 /*22 * Task: 检索与给定的键相关联的值23 * @param key 待检索元素的查找键对象24 * @return 与查找键对象相关联的值,若不存在这样的对象则返回null25 */26 public V getValue(K key);27 28 /*29 * Task: 确定一个指定的元素在不在词典中30 * @param key 待查找的元素的键对象31 * @return 若key与词典中的一个元素相关联则返回true32 */33 public boolean contains(K key);34 35 /*36 * Task: 创建一个迭代器遍历词典中所有的查找键37 * @return 返回一个迭代器,提供对词典中的键对象的顺序访问38 */39 public Iterator
getKeyIterator();40 41 /*42 * Task: 创建一个迭代器遍历词典中所有的值43 * @return 返回一个迭代器,提供对词典中值的顺序访问44 */45 public Iterator
getValueIterator();46 47 public boolean isEmpty();//判断词典是否为空48 public boolean isFull();//判断词典是否满49 public int getSize();//返回词典中当前元素(键-值二元组)个数50 public void clear();//删除词典中所有的元素51 }

 

参考资料:

转载于:https://www.cnblogs.com/hapjin/p/4573826.html

你可能感兴趣的文章
2012暑期川西旅游之总结
查看>>
Linux发行版的排行
查看>>
12010 解密QQ号(队列)
查看>>
2014年辛星完全解读Javascript第一节
查看>>
装配SpringBean(一)--依赖注入
查看>>
daydayup2 codeforces143C
查看>>
ANT打包J2EE项目war包
查看>>
UESTC-我要长高 DP优化
查看>>
java选择文件时提供图像缩略图[转]
查看>>
方维分享系统二次开发, 给评论、主题、回复、活动 加审核的功能
查看>>
Matlab parfor-loop并行运算
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>
iOS8统一的系统提示控件——UIAlertController
查看>>
PAT甲级——1101 Quick Sort (快速排序)
查看>>
python创建进程的两种方式
查看>>
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
php建立MySQL数据表
查看>>