[align=left][/align]
项目中使用到List的删除方法,因此总结一下List的三种删除方法.
方法1: remove(int index),参数是下标识,返回值是被删除的数据;删除之后下表随之变化.所以使用下标值的时候一定要考虑到删除数据下标值改变的情况.
参考下面的代码
List list = new ArrayList();
list.add(0);
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
Object obj1 = list.remove(1); //remove(int index),参数是下标识,返回值是被删除的数据
System.err.println("obj1= "+obj1);
System.err.println("list ="+list);//得到的list是删除特定下标值的list
Object obj3 = list.remove(3); //remove(int index),参数是下标识,返回值是被删除的数据
System.err.println("obj3= "+obj3);
System.err.println("list ="+list);//得到的list是删除特定下标值的list
/*
* obj1= 1
list =[0, 2, 3, 4, 5, 6]
obj3= 4
list =[0, 2, 3, 5, 6]
* 表示删除数据后array的下标随之变化
*/
方法2:remove(Object obj),参数是list中保存的数据,返回值是是否删除成功true or false;数据在list中删除后返回true,如果数据不在list中,那么返回false.
这中情况不需要考虑下标值,但是需要知道确切的数据.
List list = new ArrayList();
list.add("0");
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
//remove(Object obj),参数是list中保存的数据,返回值是是否删除成功true or false
Object obj1 = list.remove("1");
System.err.println("obj1= "+obj1);
System.err.println("list ="+list);//得到的list是删除特定下标值的list
Object obj3 = list.remove("3");
System.err.println("obj3= "+obj3);
System.err.println("list ="+list);//得到的list是删除特定下标值的list
Object obj7 = list.remove("7");
System.err.println("obj7= "+obj7);
System.err.println("list ="+list);//得到的list是删除特定下标值的list
/*
obj1= true
list =[0, 2, 3, 4, 5, 6]
obj3= true
list =[0, 2, 4, 5, 6]
obj7= false
list =[0, 2, 4, 5, 6]
*/
方法3:removeAll(Collection c) 参数是collection,返回值是boolean类型.
如果c是list中的一部分,那么list将这部分数据删除掉;如果c中的数据只有一部分在list中,那么删除list中存在的这部分.可以用来取得两个list的合集;如果list中不存在c中的数据,那么返回false;如果c是不是list类型,那么无法删除.
List list = new ArrayList();
list.add(0);
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
List list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
List list2 = new ArrayList();
list2.add(9);
list2.add(2);
list2.add(3);
//list1中的数据在list中都存在
boolean flag = list.removeAll(list1);
System.err.println("list ="+list);
System.err.println(flag);
// list =[0, 4, 5, 6]
// true
//list2中数据list中只有一部分,那么只删除有的那部分,那么可以去掉1个集合中重合的一部分,
// boolean flag = list.removeAll(list2);
// System.err.println("list ="+list);
// System.err.println("list2 ="+list2);
// System.err.println(flag);
// list =[0, 1, 4, 5, 6]
// list2 =[9, 2, 3]
// true
// List list4 = new LinkedList();
// list4.add("1");
// list4.add("4");
// list4.add("6");
// boolean flag = list.removeAll(list4);
// System.err.println("list ="+list);
// System.err.println("list4 ="+list4);
// System.err.println(flag);
// list =[0, 1, 2, 3, 4, 5, 6]
// list4 =[1, 4, 6]
// false
分享到:
相关推荐
删除List中的重复值 方法一:循环元素删除 // 删除ArrayList中重复元素 public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - ...
主要介绍了C#遍历List并删除某个元素的方法,实例分析了正序与倒序遍历list及删除元素的使用技巧,需要的朋友可以参考下
ListControl控件中右键菜单可添加或删除一行,选中一行可进行edit编辑和下拉框Combox选择。
也可以使⽤should be equal来做相等判断 8 Remove (Values) From List-删除list中某个值 Remove From List:按照index删除,⼀次删除1个 Remove Values From List:按照value值删除,⼀次可删除多个 ⽰例如2.6 9 ...
主要介绍了C++ STL list 遍历删除出错解决方案的相关资料,这里对出错进行分析,并给出正确的解决方法,需要的朋友可以参考下
简单的ListCtrl的多行删除
javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...
ListCtrl 数据修改 添加 删除 动态 自绘ComboBox控件
C++中list用法,list的用法,链表的添加删除操作,容器的使用
本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) ...
list用remove实现结构体成员的删除
listctrl控件批量删除、修改选中的多条记录,附带Access数据库,模块化封装,浅显易懂。我搞了三四天才弄解决,现在归纳一下给需要的同志们。至于资源分,也是为了以后下载资源方便。
最近想写一个仿QQ的侧滑删除,自己定义了好久没有写出来,所以在找了一个第三方的写了一个demo上传到这和大家交流学习
MFC中ListControl的简单使用,里面有单击选中删除,双击修改,是一个Dialog类,用起来更方便,还有文本文件的读取
比较list得到不同的对象 慎重注意list的大小变化和索引 精简算法
一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。
找了一些关于checkboxList控件的常用用法 添加项,选择项,删除项的等17种常用的方法。 希望对大家有用
详细总结Scala语言的List类封装的相关方法,具有详细的方法名及解析
基于别人的demo解决一些常规bug的Recycleview list Demo,可侧滑,编辑,删除
前言 初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: ...原因是在删除list中的元素后,list的实际长度变小了,但是循环次数没有减少,依然按照