`
静坐云端上的人
  • 浏览: 13704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

List中的删除

    博客分类:
  • List
阅读更多
[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
分享到:
评论

相关推荐

    C#遍历List并删除某个元素的方法

    当我们需要遍历List并根据条件删除特定元素时,需要注意正确的方法,以避免在遍历过程中出现错误。以下将详细介绍如何在C#中遍历List并删除元素,包括正序和倒序遍历的技巧。 首先,我们来看一下错误的遍历方式。...

    删除List中的重复值

    删除List中的重复值 方法一:循环元素删除 // 删除ArrayList中重复元素 public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - ...

    CSharp_List.zip_C# list_C#中list_C#中list的用法_C#怎么引用List_c# list

    在C#编程中,`List<T>`是.NET框架中常用的一种动态数组,它属于泛型集合,提供了丰富的功能,使得在处理一系列数据时更加灵活高效。`List<T>`类是`System.Collections.Generic`命名空间的一部分,它实现了`IList<T>`...

    list实现的购物车

    Python提供了remove()方法用于从list中删除指定元素,但需要注意处理可能的“商品不存在”异常。 4. **商品的清空**:清空购物车就是将整个list置为空。这可以通过重新赋值实现,如`cart = []`。 5. **cookie技术*...

    C++ STL list 遍历删除出错解决方案

    本篇文章主要探讨的是在使用STL list时遇到的遍历删除元素过程中常见的错误及其解决方案。 错误用法通常出现在尝试同时遍历和删除list中的元素时。以下是三种常见的错误做法: 1. 错误用法一: 在这个例子中,迭代...

    ListControl支持右键菜单动态添加、删除行

    在本话题中,我们将深入探讨如何实现`ListControl`支持右键菜单动态添加和删除行的功能,以及如何进行编辑(edit)和使用下拉框(Combox)选择。 首先,`ListControl`通常被用作`CListView`类的一部分,它是MFC框架...

    简单的ListCtrl多行删除

    在探讨“简单的ListCtrl多行删除”这一主题时,我们首先需要理解ListCtrl的基本概念及其在Windows编程中的应用。ListCtrl是Microsoft Windows中一个非常重要的控件,它提供了列表视图的功能,允许用户以列表的形式...

    STL中list的使用

    在标准模板库(STL)中,`list`容器是一个双向链表,它提供了高效的插入和删除操作,尤其是在列表的头部或尾部进行操作时,性能尤为突出。下面将详细介绍`list`的各种功能和用法。 ### 创建和初始化 1. **空list**...

    ListCtrl 数据修改 添加 删除

    本篇文章将深入探讨如何在ListCtrl中进行数据的修改、添加和删除,以及如何实现动态自绘ComboBox控件。 首先,让我们关注ListCtrl的数据操作。ListCtrl通常在MFC(Microsoft Foundation Classes)框架下使用,可以...

    listctrl控件批量删除、修改

    在这个主题中,“listctrl控件批量删除、修改”主要涉及的是如何一次性处理多个选定的列表项,以及与数据库(例如Access)的交互。 批量删除和修改通常涉及到多选机制,即允许用户选择多个列表项。在ListCtrl中,这...

    list to list 将list内容移到另一个list

    在编程领域,特别是涉及到数据操作的时候,`list` 是一种常用的数据结构,它在Python、JavaScript等语言中广泛使用。`list to list` 操作通常指的是将一个列表(list)的内容移动到另一个列表中,这可能涉及到列表的...

    list嵌套list例子

    在Python编程语言中,列表(list)是一种非常重要的数据结构,它可以存储任意类型的对象,包括数字、字符串,甚至是其他列表。当我们谈论“list嵌套list”时,这意味着在一个列表内部包含了一个或多个列表,这样的...

    Scala的List类方法整合

    在Scala编程语言中,`List` 类是处理有序集合的一种常见方式。本文将详细介绍 `List` 类中的多种方法及其用途,帮助开发者更好地理解和使用这些功能。 #### 1. `def + (elem: A): List[A]` 此方法用于向列表的末尾...

    C++中list用法

    - `clear()`:删除list中的所有元素。 - `empty()`:判断list是否为空。 - `get_allocator()`:返回list使用的分配器。 2. **元素访问** - `back()`:返回list的最后一个元素。 - `front()`:返回list的第一个...

    STL.rar_STL list pdf

    "deletevectotlist"这个文件可能包含了一个例子,展示了如何从List中删除元素。在C++中,可以使用迭代器来定位并移除元素,例如`list<T>::iterator it = myList.begin();`,然后使用`it = myList.erase(it);`来删除...

    Python list列表中删除多个重复元素操作示例

    本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) ...

    MFC中ListControl的简单使用

    本教程将详细介绍如何在MFC应用中简单使用ListControl,实现单击选中删除、双击修改功能,并结合文本文件读取操作。 首先,我们需要在对话框资源中添加一个ListControl控件。在MFC资源编辑器中,选择对话框对象,...

Global site tag (gtag.js) - Google Analytics