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

Posted 三五月儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List的Clear方法与RemoveAll方法用法小结相关的知识,希望对你有一定的参考价值。

示例代码

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);
            
        
    
代码运行结果如下所示。

 

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于List的Clear方法与RemoveAll方法用法小结的主要内容,如果未能解决你的问题,请参考以下文章

怎么比较两个list中相同的值

ArrayList.clear() 和 ArrayList.removeAll() 有啥区别?

LINQ:RemoveAll 并删除元素

JAVA 集合框架优化之list.removeAll大数据量优化

遍历list进行remove操作异常

list的取差集