C#中ArrayList和泛型集合List方法概述概述

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中ArrayList和泛型集合List方法概述概述相关的知识,希望对你有一定的参考价值。

首先,ArrayList集合和List都是非静态类,使用时都必须先实列化。

ArrayList类似一个数组,但比数组优越的是它的长度大小可变,并且可以存放不同类型的变量,包括值类型和引用类型。

常用方法如下:

1、Add():方法用于添加一个元素到当前列表的末尾

2、AddRange():方法用于添加一批元素(数组或者集合)到列表的末尾

3、Remove():方法用于删除一个元素,通过元素本身的引用来删除,填什么删什么

4、RemoveAt():方法用于删除一个元素,通过索引值来删除

5、RemoveRange():用于删除一批元素,通过指定开始的索引和删除的数量来删除

6、Insert(int index,value):用于添加一个元素到指定位置,列表后面的元素依次往后移

7、InsertRange(int index,values):用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

8、Contains():用于查看集合中是否包含所给元素

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Collections;
 7 namespace ArrayListMoth
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             ArrayList list = new ArrayList();
14             //添加单个元素
15             list.Add(true);
16             list.Add(1);
17             list.Add("张三");
18             //添加集合元素
19             list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
20             //list.AddRange(list);
21 
22             //list.Clear();清空所有元素
23             //list.Remove(true);删除单个元素 写谁就删谁
24             //list.RemoveAt(0);根据下标去删除元素
25             //list.RemoveRange(0, 3);根据下标去移除一定范围的元素
26             //list.Insert(1, "插入的");在指定的位置插入一个元素
27             //list.InsertRange(0, new string[] { "张三", "李四" });在指定的位置插入一个集合
28             //bool b = list.Contains(1);判断是否包含某个指定的元素
29             list.Add("大男孩");
30             if (!list.Contains("大男孩"))
31             {
32                 list.Add("大男孩");
33             }
34             else
35             {
36                 Console.WriteLine("已经有了");
37             }
38             for (int i = 0; i < list.Count; i++)
39             {
40                 Console.WriteLine(list[i]);
41             }
42             // list.Sort();//升序排列
43             //list.Reverse();反转
44             Console.ReadKey();
45         }
46     }
47 }

泛型集合List:

和ArrayList的区别就是List集合类型是固定的。

声明方式:List<type> list = new List<type>()

方法和ArrayList的差不多

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _02_List泛型集合
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             //创建泛型集合对象
14             List<int> list = new List<int>();
15             list.Add(1);
16             list.Add(2);
17             list.Add(3);
18 
19             list.AddRange(new int[] { 1, 2, 3, 4, 5, 6 });
20           //  list.AddRange(list);//可以添加集合本身
21 
22             //List泛型集合可以转换为数组
23             int[] nums = list.ToArray();//集合装换为数组
24             Console.WriteLine("集合转换为数组输出:");
25             for (int i = 0; i < nums.Length; i++)
26             {
27                 Console.WriteLine(nums[i]);
28             }
29 
30             List<int> listInt= nums.ToList();//数组转换为集合
31             Console.WriteLine("数组转换为集合输出:");
32             for (int i = 0; i <listInt.Count; i++)
33             {
34                 Console.WriteLine(listInt[i]);
35             }
36             Console.ReadKey();
37         }
38     }
39 }

 

为了避免拆箱和装箱的操作,大多数情况我们使用泛型集合List.

 

以上是关于C#中ArrayList和泛型集合List方法概述概述的主要内容,如果未能解决你的问题,请参考以下文章

Java之collection集合常见数据结构List和泛型

总结第一章 集合框架和泛型

07.集合和泛型

java集合框架和泛型

c#中泛型集合怎样写强制类弄转换

[Java]Java 集合(SetListMap)和泛型