Dictionary<int, string>, key is ID, value is Name, 怎样通过知道一个key值,得到相应的value值?
3个回答
展开全部
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();
}
}
给个例子,看一下就明白了
展开全部
你说的Dictionary类,是一个abstract抽象类,定义得到value的方法为:V get(Object key)。
一般利用子类类Map的实现类HashMap等,调用get(key)方法得到value。
一般利用子类类Map的实现类HashMap等,调用get(key)方法得到value。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类 HashMap ? 想自己实现一个?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询