码迷,mamicode.com
首页 > 其他好文 > 详细

词典的实现(1)--Map的底层实现

时间:2015-06-13 19:54:38      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:

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

 

词典的实现(1)--Map的底层实现

标签:

原文地址:http://www.cnblogs.com/hapjin/p/4573826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!