您的位置:首页 > 其它

用HashMap简单实现ArrayList的添加,删除,读取。。。。。

2010-03-27 13:22 302 查看
import java.util.HashMap;
import java.util.Map;

public class MyList<T> {

public int listSize = 0;
private Map<Integer,T> mapArr = null;

public MyList(){
mapArr = new HashMap<Integer,T>();
}
//添加数据
public void addObj(T obj){
mapArr.put(listSize, obj);
listSize++;
}
//取得数据
public <T> T get(int i){
T obj ;
if(mapArr.get(i) != null){
obj = (T) mapArr.get(i);
return obj;
}
return null;
}
//索引删除数据
public void removeObj(int i){
if(mapArr.get(i) != null){
mapArr.remove(i);
}
for(int idx = 0; idx < listSize - i - 1; idx ++){
mapArr.put(i + idx, mapArr.get(i + idx + 1));
}
listSize --;
}
//匹配删除
public void removeObj(T obj){
int cyIdx = 0;
for(int i = 0; i < listSize; i ++){
if(obj.equals(mapArr.get(i))){
mapArr.remove(i);
cyIdx = i;
break;
}
}
for(int idx = 0; idx < listSize - cyIdx - 1; idx ++){
mapArr.put(cyIdx + idx, mapArr.get(cyIdx + idx + 1));
}
listSize --;
}
// 修改制定数据
public void updateObj(int i,T obj){
mapArr.put(i, obj);
}
}

对于安全性,可能发生的异常未进行处理。只是简单通过HashMap的键/值的添加,删除和读取,实现类似ArrayList的索引功能。

在编程中寻找快乐,在快乐中自由编程!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: