词典的实现(1)--Map的底层实现
2015-06-13 17:44
204 查看
1,词典是这样的一种数据结构:它能根据给定的键(索引值,key)来查找其对应的值(value)是否存在,在JAVA中主要由java.util.HashMap来完成该功能。如电话本就是词典的一个具体实例,其中名字作为键,电话号码作为值。客户端可以通过构造一个电话本来进行查询。本系列文章自己编程实现了Map这一数据结构,模拟实现了词典的功能,并给出了词典的两个具体应用---①根据姓名查找电话号码;②统计单词的出现频率
2,ADT词典接口DictionaryInterface.java的定义
词典接口定义了该词典所具有的基本功能,如添加元素、查询元素……这样,具体的实现类通过implements该接口完成具体的电话本功能的实现。
详细解释看代码注释
DictionaryInterface.java代码如下:
2,ADT词典接口DictionaryInterface.java的定义
词典接口定义了该词典所具有的基本功能,如添加元素、查询元素……这样,具体的实现类通过implements该接口完成具体的电话本功能的实现。
详细解释看代码注释
DictionaryInterface.java代码如下:
package dictionary; import java.util.Iterator; public interface DictionaryInterface<K, V> { /* * Task: 将一个新元素插入词典。若给定的键已在词典中,则替换相应的值 * @param key 新元素的的查找键 * @param value 与键关联的值对象 * @return 若新元素被插入到词典中则返回null,若与key关联的value被替换,则返回原来的value */ public V add(K key, V value); /* * Task: 从词典中删除一个指定的元素 * @param key 欲删除的元素的key对象 * @return 返回与key关联的value,若不存在这样的对象则返回null */ public V remove(K key); /* * Task: 检索与给定的键相关联的值 * @param key 待检索元素的查找键对象 * @return 与查找键对象相关联的值,若不存在这样的对象则返回null */ public V getValue(K key); /* * Task: 确定一个指定的元素在不在词典中 * @param key 待查找的元素的键对象 * @return 若key与词典中的一个元素相关联则返回true */ public boolean contains(K key); /* * Task: 创建一个迭代器遍历词典中所有的查找键 * @return 返回一个迭代器,提供对词典中的键对象的顺序访问 */ public Iterator<K> getKeyIterator(); /* * Task: 创建一个迭代器遍历词典中所有的值 * @return 返回一个迭代器,提供对词典中值的顺序访问 */ public Iterator<V> getValueIterator(); public boolean isEmpty();//判断词典是否为空 public boolean isFull();//判断词典是否满 public int getSize();//返回词典中当前元素(键-值二元组)个数 public void clear();//删除词典中所有的元素 }
相关文章推荐
- 16.5 故障转移
- Nginx伪静态配置和常用Rewrite伪静态规则集锦
- linux CD管理程序
- MATLAB中fix的运用
- eclipse写php代码时中文乱码
- 计算机冷知识与简单密码常用转码
- C# 之【获取网页】
- 如何给DropDownListFor设置默认值
- 结构体讲解--转载
- Android面试题目总结
- Android面试题目总结
- Android面试题目总结
- xcode插件安装与卸载(简单实用)
- AFNetworking速成教程
- matplotlib画图
- C++学习路线与推荐书籍
- 认识自己——要做的
- dede仿站
- MATLAB中repmat的运用
- MyBatis学习(七)-MyBatis批量插入(Oracle数据库)