Dictionary<int, string>, key is ID, value is Name, 怎样通过知道一个key值,得到相应的value值?

 我来答
yuanhotel
2013-07-17
知道答主
回答量:19
采纳率:0%
帮助的人:6.4万
展开全部
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Vector;

public class MyDictionary<K,V> extends Dictionary<K,V> {

    private Vector<K> keys;
    private Vector<V> elements;

    public MyDictionary() {
        this.keys = new Vector<K>();
        this.elements = new Vector<V>();
    }
 
    public Enumeration<K> keys() {
        return this.keys.elements();
    }
 
    public Enumeration<V> elements() {
        return this.elements.elements();
    }

    public V get(Object key) {
        int i = keys.indexOf(key);
        return this.elements.get(i);
    }

    public boolean isEmpty() {
        return this.keys.size()== 0;
    }

    public V put(Object key, Object value) {
        int i = keys.indexOf(key);
        if (i != -1) {
             V oldElement = this.elements.elementAt(i);
             this.elements.setElementAt((V) value, i);
             return oldElement;
        } else {
            this.keys.addElement((K) key);
            this.elements.addElement((V) value);
            return null;
        }
    }

    public V remove(Object key) {
        int i = this.keys.indexOf(key);
        if (i != -1) {
            V oldElement = this.elements.elementAt(i);
            this.keys.removeElementAt(i);
            this.elements.removeElementAt(i);
            return oldElement;
        } else{
            return null;
        }
   
    }

    public int size() {
       return this.keys.size();
    }

    /**
    * @param args
    */
    public static void main(String[] args) {
        MyDictionary<String,String> dic = new MyDictionary<String,String>();
        dic.put("1", "0001");
        dic.put("2", "0002");
        dic.put("3", "0003");
        dic.put("4", "0004");
        System.out.println(dic.get("1") + " " + dic.get("2"));
        System.out.println(dic.remove("2") + " " + dic.remove("4"));
        Enumeration<String> keys = dic.keys();
        while(keys.hasMoreElements()){
            System.out.print(keys.nextElement() + " ");
        }
        System.out.println();
        Enumeration<String> elements = dic.elements();
        while(elements.hasMoreElements()){
            System.out.print(elements.nextElement() + " ");
        }
        System.out.println();
    }
}

给个例子,看一下就明白了

lufei_200x
推荐于2016-06-19 · TA获得超过2733个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:311万
展开全部
你说的Dictionary类,是一个abstract抽象类,定义得到value的方法为:V get(Object key)。
一般利用子类类Map的实现类HashMap等,调用get(key)方法得到value。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小木南南方
2013-07-17
知道答主
回答量:12
采纳率:0%
帮助的人:8.8万
展开全部
类 HashMap ? 想自己实现一个?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式