C#实战学习(九)——集合

   今天我们学习集合的概念,当我们听到集合这一个词的时候我们会想到什么,好比一个百货超市,超市里面存放跟着各种类型的货,每种货我们是不是可以看做成是一种对象。这么多的对象我们可以存放在一个库里面,是不是特别方便,想买什么类型的货物就买什么类型的,这就是集合。

1.集合概念:是我难过高度结构化的方式存储任意类型的对象。

2.为什么要用集合?

  显然集合什么东西都能放,就像上面我们所说的百货超市,里面什么都有,要什么有什么,想放多少东西就放多少东西,每种东西都可以看做是一个对象。想到集合不由得我们需要和数组进行对比一下,我们知道数组是一种相当有用过的数据类型,但是数组是有局限的,数组中的数据类型必须相同,而且创建数组是必须知道数组的大小,访问的时候还要通过索引来访问,相当麻烦。所以引入了集合的概念。

3.集合这么好,如何在集合中添加各种数据呢?这时我们用到了Add ()方法:添加单个元素,可以添加任何类型的数据,内容无限,没有长度,但是可以数个数

ArrayList arrayList = new ArrayList();//集合属于类,使用前要进行实例化
arrayList.Add(10);//添加数值
arrayList.Add("佳兴刺啦六帅");//可以添加字符串
arrayList.Add(3.1415926);//可以添加double 类型
arrayList.Add('男');//可以添加char类型
arrayList.Add(1.78m);
arrayList.Add(true);//可以添加布尔类型
arrayList.Add("afdsakfjas");
int[] nums = new int[] { 1, 2, 3, 5 };//可以添加数组
arrayList.Add(nums);
for (int i = 0; i < arrayList.Count ; i++)
{
   Console.WriteLine(arrayList[i]);
}          
Console.ReadKey();

 AddRange()方法添加数据:添加实现了ICollection接口的一个集合的所有元素到指定集合的末尾( 添加一个集合的元素)

PS:通过AddRange的方法添加数据,例如添加一个数组,Add方法只是添加了一个数组,一个单个的数组,数组里面的元素没有显示,如果用AddRange的方法,可以实现添加整个数组里面所有的元素,不是一个数组,而是数组里面所有的数据。

4.集合中存在这么多类型的对象,可是我们如何拿到我们想用的某一类型的的数据呢,例如我们想要集合中的数组。或者集合中的类。

arrayList.Add(true);//可以添加布尔类型
int[] nums = new int[] { 1, 2, 3, 5 };//可以添加数组
arrayList.Add(nums);
for (int i = 0; i < arrayList.Count ; i++)
{
     if(arrayList[i] is int[])//如果是数组
     {
        int[] numbers = (int[])arrayList[i];//进行一下转换,用一个新的名为numbers数组接收一下
        for (int j = 0; j<numbers.Length; j++)
        {
             Console.WriteLine(numbers[j]);//显示数组里面的数据
        }                
     } 
     else
     {
        Console.WriteLine(arrayList[i]);
     }
     Console.ReadKey(); 

5,通过insert()的方法,在集合中插入数据。用clear()方法将数据清空。 contains()判断集合中是否含有这个元素。用reverse的元素进行反转。Sort()方法进行排序


6.求集合元素的平均值:

static void Main(string[] args)
{
            ArrayList arrayList = new ArrayList();
            int sum = 0;
            for (int i =1; i <= 100; i++)
            {
                arrayList.Add(i);//添加100个数据
            }
            for (int i = 0; i <arrayList.Count; i++)
            {
                if(arrayList[i] is int )//判断是否可以转换为整型
                {
                    sum += (int)arrayList[i];
                }            
            }
            Console.WriteLine(sum);//求和
            Console.WriteLine(sum*1.0 / arrayList.Count);//求平均值
            Console.ReadKey();
}

7.在集合随机添加10个数,求平均值

static void Main(string[] args)
        {
            //随机在集合中添加10个数据,求平均值
            ArrayList arrayList = new ArrayList();
            Random r = new Random();
            while(arrayList.Count !=10)//当随机数没有超过10个的时候进行添加
            {
                int num = r.Next(1, 100);//在1到100中共产随机数,即产生随机数的范围
                if(!arrayList.Contains(num))//如果在这个范围没有num,开始添加随机数
                {
                    arrayList.Add(num); //添加随机数
                }              
            }
            int sum = 0;  
            for (int i = 0; i <arrayList.Count; i++)
            {
                if(arrayList[i] is int )//判断是否可以转换为整型
                {
                    sum += (int)arrayList[i];
                }
                Console.WriteLine(arrayList[i]);//显示产生的随机数
            }
            Console.WriteLine(sum);//求和
            Console.WriteLine(sum*1.0 / arrayList.Count);//求平均值
            Console.ReadKey();
        }


关于集合我们就下写到这里,希望可以和小伙伴进行交流,将自己的想法,或者对博主的建议添加在评论里面。

PS:进来的小哥哥小姐姐记得点个赞哦。


猜你喜欢

转载自blog.csdn.net/fjxcsdn/article/details/80112841