实现抽象类Dictionary
来源:互联网 发布:ctr数据 编辑:程序博客网 时间:2024/06/05 09:26
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Vector;
public class AssocArray extends Dictionary{
private Vector keys = new Vector();
private Vector values = new Vector();
@Override
public Enumeration elements() {
return values.elements();
}
@Override
public Object get(Object key) {
int index = keys.indexOf(key);
if(index == -1){
return null;
}else{
return values.elementAt(index);
}
}
@Override
public boolean isEmpty() {
return keys.isEmpty();
}
@Override
public Enumeration keys() {
return keys.elements();
}
@Override
public Object put(Object key, Object value) {
keys.addElement(key);
values.addElement(value);
return key;
}
@Override
public Object remove(Object key) {
int index = keys.indexOf(key);
if(index == -1){
return null;
}else{
keys.removeElementAt(index);
Object returnValue = values.elementAt(index);
values.removeElementAt(index);
return returnValue;
}
}
@Override
public int size() {
return keys.size();
}
public static void main(String[] args) {
AssocArray as = new AssocArray();
for(char c='a'; c<='z'; c++){
as.put(String.valueOf(c), String.valueOf(c).toUpperCase());
}
char[] ca = {'a', 'e', 'i', 'o', 'u'};
for(int i=0; i<ca.length; i++){
System.out.println("Uppercase :" + as.get(String.valueOf(ca[i])));
}
}
}
结果:
stk = [January, February, March, April, May, June, July, August, September, October, November, Docembetr]
element 5 = Junepoping elements:
This is last line
Docembetr
November
October
September
August
July
June
May
April
March
February
January
- 实现抽象类Dictionary
- Dictionary抽象类源码解析
- Dictionary类
- VB实现抽象类
- VB实现抽象类
- JavaScript实现抽象类
- ruby实现抽象类和抽象方法
- python 抽象方法 抽象类实现
- 实现抽象类内部的抽象方法
- python抽象类、抽象方法的实现
- 用自定义类实现vbs中Dictionary的功能
- 巧用Dictionary对象实现线程安全类(实例)
- ***接口/抽象类/实现类***
- 代码实现接口抽象类
- Accessible抽象类的实现
- 抽象类可以实现接口
- java 抽象类实现接口
- java 抽象类实现接口
- wireless-tools源码分析-iwpriv
- 精通maven01
- 解读Secondary NameNode的功能
- Unittest命令行执行测试、执行测试发现操作实例
- 深度卷积对抗生成网络(DCGAN)
- 实现抽象类Dictionary
- HID设备类详解
- Linux网络管理命令
- 欢迎使用CSDN-markdown编辑器
- Java程序员应该知道的10个调试技巧
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
- 快速排序 和 把一个无序的整形数组分成两部分(以数组第一个数为基准进行划分)
- 常用socket函数详解
- 中值滤波与图像锐化