delete数组实现
来源:互联网 发布:易行绍兴软件下载 编辑:程序博客网 时间:2024/06/16 04:01
更正错误:
List接口中,search方法的目的是返回对象,所以,返回类型应该是T而不应该是void
Publicvoid search(inti);
改成
PublicT search(inti);
首先是update,要看方法是如何定义的:
public voiddelete(int i);
我们自己很明白为什么这么定义。删除位于下标i的对象。
这个对象就是在数组里面待着。每个人都知道怎么删除了
仍然把可能异常的情况写在前面
如果i>size-1 或者 i<0
抛出异常,说明下标i的元素不存在
然后可以放心的删除了
….
@Override
public void delete(inti) {
if(i<0 ||i>(size-1))
try {
throw new Exception(i+" iserror!");
} catch (Exceptione) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
if(i==size-1){
//如果是最后一个元素。不用移动元素。给它null。size--
container[i]=null;
size--;
}else
{
//怎么删除呢,每个人都知道了。后面的依次往前移动就OK了。
for(intj=i+1;j<=size-1;j++){
container[j-1]=container[j];
}
//同样,以上移动完成后,最后一个元素就多余了。给它Null
container[size-1]=null;
size--;
}
}
下面测试一下
@Test
public void testAdd() {
for (inti = 0; i < 10;i++) {
al.add(i);
}
System.out.println(al.toString());
}
@Test
public void delete(){
testAdd();
al.delete(0);
al.delete(8);
System.out.println(al);
}
删除任何一个位置的对象是没有问题的。
- delete数组实现
- new delete 实现动态分配和释放二维数组
- Delete 多态类数组
- 释放对象数组:delete与delete[]
- 释放对象数组:delete与delete[]
- 释放对象数组:delete与delete[]
- 实现NEW_ARRAY/DELETE_ARRAY宏,模拟new[]/delete[]申请和释放数组
- 使用 delete 删除指定数组
- javascript 数组 delete 和 splice
- 二维数组与new/delete
- new和delete数组类型
- javascript delete 数组长度不变
- delete运算符(删除数组)
- 模拟实现new、delete和new[] 、delete[]
- c++ new delete new[] delete[] 底层实现
- new/delete与new[]/delete[]实现机制
- C++ new delete new[] delete[]重载实现
- delete与delete[]区别及二维数组申请注意点
- NS3(1)---dce及quagga的安装
- 在C程序运行时,关于命令窗口字符有乱码问题
- Hibernate工作原理
- varchar和nvarchar的区别
- Hook api! 如何拦截系统api, 让它做你想做的事!
- delete数组实现
- IE8升级到IE11 F12报错的解决方案
- Extjs之DateField控件的鼠标点击选取事件监控
- apache24 django1.8.2 mod_wsgi 集成
- jboss-as-7.1.1 开发部署spring springmvc项目
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- linux块组深入,链接,压缩和打包
- AJAX获取数据然后显示在页面
- Tomcat下部署PHP