List的Clear方法与RemoveAll方法用法小结

原创 2013年12月01日 20:01:32

示例代码

using System;
using System.Collections.Generic;
 
namespace ListClearExp
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> intList = new List<int>();
            Console.WriteLine("1. 初始化列表intList:");
            Console.WriteLine("intList.Capacity="+intList.Capacity);
            Console.WriteLine("intList.Count=" + intList.Count+"\n");
 
            Console.WriteLine("2. 向intList列表添加元素:");
            for (int i = 1; i <= 5; i++)
            {
                intList.Add(i);
                Console.WriteLine("第"+ i + "个元素为:" + i);
            }           
            Console.WriteLine("intList.Capacity=" + intList.Capacity);
            Console.WriteLine("intList.Count=" + intList.Count+"\n");
 
            Console.WriteLine("3. 对intList列表进行Clear操作:");
            intList.Clear();
            foreach (int i in intList)
            {
                Console.WriteLine(i);
            }
            Console.WriteLine("intList.Capacity=" + intList.Capacity);
            Console.WriteLine("intList.Count=" + intList.Count + "\n");
 
            Console.WriteLine("4. 重新初始化intList列表并添加元素:");
            intList = new List<int>();
            for (int i = 1; i <= 5; i++)
            {
                intList.Add(i);
                Console.WriteLine("第" + i + "个元素为:" + i);
            }   
            Console.WriteLine("intList.Capacity=" + intList.Capacity);
            Console.WriteLine("intList.Count=" + intList.Count + "\n");
 
            Console.WriteLine("5. 对intList列表进行RemoveAll操作:");
            intList.RemoveAll(it => true);
            foreach (int i in intList)
            {
                Console.WriteLine(i);
            }
            Console.WriteLine("intList.Capacity=" + intList.Capacity);
            Console.WriteLine("intList.Count=" + intList.Count);
        }
    }
}

示例代码具体操作简介

1.初始化列表intList,输出其Capacity及Count值;

2.向intList列表添加元素并输出,同时输出其Capacity及Count值;

3.对intList列表进行Clear操作,同时输出Clear后的列表元素(很明显,什么也不输出)及Capacity和Count值;

4.重新初始化intList列表并添加元素(与步骤2增加相同元素),同时输出其Capacity及Count值;

5.对intList列表进行RemoveAll操作(条件为it => true,相当于删除所有元素),同时输出RemoveAll操作后的列表元素(很明显,什么也不输出)及其Capacity和Count值。

 

程序运行结果

 

 

结果分析

执行ListClear方法和RemoveAll方法,List将清除指定元素,同时修改Count属性值,而Capacity属性值保持不变。

Clear方法和RemoveAll方法的区别是:Clear方法会清空所有元素,RemoveAll方法会清空满足指定条件的元素,当将条件设置为恒成立时,也会删除所有元素。

下面给出的代码删除了intList列表中元素为偶数的项。

using System;
using System.Collections.Generic;
 
namespace ListClearExp
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> intList = new List<int>();
            for (int i = 1; i <= 5; i++)
            {
                intList.Add(i);
                Console.WriteLine("第" + i + "个元素为:" + i);
            }
            intList.RemoveAll(it => it % 2 == 0);
            foreach (int i in intList)
            {
                Console.WriteLine(i);
            }
        }
    }
}
代码运行结果如下所示。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

如何不用 List.clear() 方法 就清空 list 中的 所有元素(中兴面试)

import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.Lis...

java中list集合的clear

java中list集合通过clear()方法清空,只会将list中的对象变成垃圾回收清空,但是list对象还是存在。 但是通过list=null后,不仅列表中的对象变成了垃圾,为列表分配的空间也会回...
  • sdfdzx
  • sdfdzx
  • 2016年04月16日 22:27
  • 877

List集合的clear方法

在使用list 结合的时候习惯了 list=null ;在创建这样的方式,但是发现使用list的clear 方法很不错,尤其是有大量循环的时候 1、list 接口  的ArrayList 类的cle...
  • QH_JAVA
  • QH_JAVA
  • 2015年12月02日 23:05
  • 10270

List Clear和Remove区别

转载http://blog.csdn.net/yl2isoft/article/details/17059093

清空ArrayList所引发的思考(List相关操作)

清空ArrayList所引发的思考 ArrayList list = new ArrayList(); list.add("a111"); list.add("b111"); list.add(...

如何使用Java List等集合类的removeAll方法

看到这个标题,估计很多人会纳闷:连集合类的removeAll方法都用不好还当什么程序员。 好吧,我承认我确实没用好这个方法,鄙视我吧。O(∩_∩)O哈! 先贴问题---> 实体类(User):publ...

解决collection调用removeAll()移除不了不同引用同值对象的问题

问题:两个List都是ArrayList, 其中一个list1是另一个list2的子集,我想从list2中移除list1中的内容,但是使用removeAll方法不好用, 似乎只有两个集合的交集元素持有...
  • tavor
  • tavor
  • 2008年06月02日 10:34
  • 3968

List 的 removeAll 方法的效率

Java中,List是最常用到的一种集合类。我们也经常对List进行操作,也没有碰到什么问题。但是刚刚在调用removeAll方法是,碰到了严重的性能问题。 问题是这样的: 原集合:List so...

List和set集合:交集、差集、合集的区别retainAll,removeAll、addAll

set 、list集合的交集(retainAll)、差集(removeAll)是没有区别的都是一样的. set 、list集合的合集addAll是有区别的:set可以去重复;list不去重复 ...

List中删除元素remove和removeAll

public class ListTest { public static void main(String[] args) { List list = new ArrayLi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:List的Clear方法与RemoveAll方法用法小结
举报原因:
原因补充:

(最多只允许输入30个字)