用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的索引功能。
在编程中寻找快乐,在快乐中自由编程!!!
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的索引功能。
在编程中寻找快乐,在快乐中自由编程!!!
相关文章推荐
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能
- Jquery实现简单的表格添加、编辑、删除教程
- 简单语句实现用户添加、删除
- 简单语句实现用户添加、删除
- 这是一个关于XML文档的操作管理器XMLHelper类,类中包括XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现
- Jquery实现简单的表格添加、编辑、删除教程
- jQuery实现的简单动态添加、删除表格功能示例
- 简单语句实现用户添加、删除
- 黑马程序员--XML添加读取删除的实现
- asp.net 实现对xml文件的 读取,添加,删除,修改
- asp.net 实现对xml文件的 读取,添加,删除,修改
- Android表格布局TableLayout简单实现(Java动态添加,设置边框,删除数据(单行,多行))
- 简单语句实现用户添加、删除
- OpenStack nova动态添加/删除cpu内存的简单实现
- ArrayList利用迭代器Iterator遍历方法实现数据(新闻)的删除、添加、显示功能例子
- PowerShell中使用ArrayList实现数组插入、删除、添加例子
- Jquery实现select multiple左右添加和删除功能的简单实例
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序