集合Arraylist

集合

 

1、集合类型是object,包含所有的类型。

2、需要先看一下开头是否有using System.Collections;

3、属性:.count,获取Arraylist的元素长度,相等于length.

方法

4、.Add()将对象添加到Arraylist中;

5、.clear(),从Arraylist中移除所有的元素;

6、.clone(),从Arraylist中的创建浅表副本;

7、.contains(),确定某元素在Arraylist中;

8、.indexof(),已重载,集合中某个值得第一个匹配项的从零开始的索引;

9、.insert(),将元素插入指定的位置;

10、LatIndexOf(),已重载,返回集合中或它一部分的某个值最后一个匹配从后开始的索引;

11、.Remove(),从Arraylist中移除特定对象的第一个匹配项;

12、.RemoveAt(),移除Arraylist指定索引处的元素;

13、.sort(),已重载,对Arraylist或他的一部分元素进行升序排序;

14、.Reverse(),翻转整个集合;

Arraylist集合事例:

ArrayList al = new ArrayList();//初始化

al.Add(3);

al.Add(5);

al.Add(1);

al.Add(8);

al.Add(4);

错误      因为5号索引之前就没有,所以直接赋值不可以

al[5] = 9;

al[4] = 9;

查看个数

Console.WriteLine(al.Count);

清空集合

al.Clear();

克隆集合

ArrayList al1 = new ArrayList();

al1 = (ArrayList)al.Clone();

Console.WriteLine(al1[2]);

判断是否包含某个元素

Console.WriteLine(al.Contains(6));

查看第一次出现该元素的索引号   若没有,返回-1

Console.WriteLine(al.IndexOf(1));

查看最后一次出现该元素的索引号

Console.WriteLine(al.LastIndexOf(9));

在1号索引插入一个4

al.Insert(1,4);

Console.WriteLine(al[1]);

移除某个元素的第一次出现的值

al.Remove(4);

Console.WriteLine(al[1]);

移除某个索引号上的元素

 al.RemoveAt(3);

Console.WriteLine(al[3]);

            //for (int i = 0; i < a1.Count; i++)

            //{

            //    Console.WriteLine(al[i]);

            //}

            //Console.WriteLine();

            //al.Sort();//排序,升序

            //for (int i = 0; i < al.Count; i++)

            //{

            //    Console.WriteLine(al[i]);

            //}

            ////改为降序

            //al.Reverse();//翻转集合

            //    Console.ReadLine();

练习:

            //将每个人的姓名,年龄存入集合

            //按照年龄从大到小排列

            //姓名也需要排列

            //需要知道年龄最大的是谁

            //Console.Write("请输入人数:");

            //int n = int.Parse(Console.ReadLine());

            //ArrayList xm = new ArrayList();

            //ArrayList age = new ArrayList();

            //for (int i = 0; i < n; i++)

            //{

            //    Console.Write("请输入第{0}个人的姓名:", (i + 1));

            //    xm.Add(Console.ReadLine());

            //    Console.Write("请输入{0}个人的年龄:", (i + 1));

            //    age.Add(int.Parse(Console.ReadLine()));

            //}

            //for (int i = 0; i < n; i++)

            //{

            //    for (int j = i; j < n - 1; j++)

            //    {

            //        if (int.Parse(age[i].ToString()) < int.Parse(age[j +1].ToString()))

            //        {

            //            int zh = int.Parse(age[i].ToString());

            //            age[i] = age[j + 1];

            //            age[j + 1] = zh;

            //            string z = xm[i].ToString();

            //            xm[i] = xm[j + 1];

            //            xm[j + 1] = z;

            //        }

            //    }

            //}

            //Console.WriteLine("年龄最大的是{0},是{1}岁", xm[0], age[0]);

            //Console.ReadLine();

第二种,一个集合的做法

           // Console.WriteLine("请输入人数:");

           // int a = int.Parse(Console.ReadLine());

           // ArrayList jh = new ArrayList();

           // for (int i = 0; i < a; i++)

           // {

           //     Console.Write("请输入第{0}人的姓名:", i + 1);

           //     jh.Add(Console.ReadLine());

           //     Console.Write("请输入第{0}人的年龄:", i + 1);

           //     jh.Add(Console.ReadLine());

           // }

           // Console.WriteLine();

           // for (int i = 1; i < a * 2; i = i + 2)

           // {

           //     for (int j = i; j < a * 2 - 2; j = j + 2)

           //     {

           //         if (int.Parse(jh[i].ToString()) < int.Parse(jh[j + 2].ToString()))

           //         {

           //             //int huan = 0;

           //             int huan = int.Parse(jh[i].ToString());

           //             jh[i] = jh[j + 2];

           //             jh[j + 2] = huan;

           //             //string o = "";

           //             string o = jh[i - 1].ToString();

           //             jh[i - 1] = jh[j + 1];

           //             jh[j + 1] = o;

           //         }

           //     }

           // }

           //Console.WriteLine("年龄最大的为:"+jh[0]+"年龄为:"+jh[1]);

           //Console.ReadLine();

原文地址:https://www.cnblogs.com/light3857/p/5620637.html