集合ArrayList

  

System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。

System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。

System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。

常用的集合为ArrayList类;特殊集合一般会用到Queue队列集合、Stack栈集合还有Hashtable哈希表集合。

集合不同于数组,是一组可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。一般来说,这些元素的类型是相同的。

集合与数组的区别:数组是连续的、同一类型数据的一块区域,而集合可以是不连续的、多种数据类型的。

ArrayList集合

相同点:

  (1)两者都实现了IList、ICollection、IEnumerable接口;

  (2)两者都可以使用整数索引访问集合中的元素,包括读取和赋值,且集合中的索引都从0开始

不同点:

  (1)ArrayList是集合,而Array是数组;

  (2)ArrayList是具体类,Array是抽象类;

  (3)数组必须在实例化时指定元素的数量,该数量一旦确定就不可以更改了,而ArrayList扩展了这一点,当实例化一个ArrayList实例时可以不指定集合元素数(有默认初始容量),当然你也可以指定初始容量;

  (4)获取数组的元素数时使用Length属性,而获取ArrayList集合的元素数时使用Count属性;

  (5)数组可以有多维,而ArrayList只能是一维

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

    //赋值

al.Add(3); //将对象添加到 ArrayList 的结尾处 元素

    al.Add(5);

    al.Add(1);

    al.Add(8);

    al.Add(4);

    

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

    al[5] = 9;

    //正确 改值

al[4] = 9;

//查看个数

      Console.WriteLine(al.Count);//获取 ArrayList 中实际包含的元素数

    //清空集合

al.Clear(); //从 ArrayList 中移除所有元素

     //克隆集合

ArrayList al1 = new ArrayList();

al1 = (ArrayList)al.Clone();//创建 ArrayList 的浅表副本

       //强转

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);

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

al.Remove(5);

Console.WriteLine(al[0]); //al[索引号]

    //移除 ArrayList 的指定索引处的元素

al.RemoveAt(2);

Console.WriteLine(al[2]);

    //排序

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

{

Console.WriteLine(al[i]);

}

Console.WriteLine();

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

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

{

Console.WriteLine(al[i]);

}

//改为降序

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

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

{

Console.WriteLine(al[i]);

}

//遍历集合

foreach (object aa in al)
            {
                Console.WriteLine(aa);
            }

int[] array = new int[] { 2, 3, 4, 6, 7, 8, 9, 2 };

foreach (int aa in array)//遍历数组

{//定义一个什么类型的数据在数组或集合里面

Console.WriteLine(aa + 2);

}

时间: 2024-11-14 19:42:11

集合ArrayList的相关文章

C#中集合ArrayList与Hashtable的使用

C#中集合ArrayList与Hashtable的使用 http://blog.csdn.net/linukey/article/details/42506819 ArrayList: 一. 注意事项: 1.可以指定ArrayList集合的初始大小 var list = new ArrayList(10);//容纳10个元素 若不指定大小,则默认大小为0,添加一个后为4,然后以倍数递增. 2.ArrayList是Array的复杂版本,ArrayList内部封装了一个Object类型的数组,从一般

集合及特殊集合arrayList,Stack,Queue

1,运用集合  arrayList 首先复制Colections加  : 创建arrayList ar =new arrayList(); ArrayList具体提供的功能:属性                           功能说明Count 获取 ArrayList 中实际包含的元素数 方法                           功能说明Add () 将对象添加到 ArrayList 的结尾处Clear()   从 ArrayList 中移除所有元素Clone() 创建

面向对象之集合ArrayList

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 面向对象集合 { class Program { static void Main(string[] args) { //创建一个集合对象 ArrayList list = new ArrayLi

JAVA基础——集合——ArrayList

ArrayList集合 ArrayList的一些方法(JDK1.8): 将指定的元素附加到列表的末尾,true:添加成功,false:添加失败: public boolean add(E e) 在指定的位置插入指定的元素列表. 改变当前位置的元素(如果有的话)右边的所有元素往后移一位(增加一个到它们的索引) public void add(int index, E element) 按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾 public boolean ad

集合ArrayList习题练一练——分数

namespace 集合习题练一练{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("请输入你们班的人数:");            int n = Convert.ToInt32(Console.ReadLine());            ArrayList al = new ArrayList();            fo

Java集合---ArrayList源码

本文转载自博客园牛奶.不加糖 原文地址:http://www.cnblogs.com/ITtangtang/p/3948555.html 本文仅供本人学习参考使用,如有侵权立即删除. 一. ArrayList概述: ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安

集合ArrayList双色球练一练(自己的方法,太麻烦)

namespace 集合__双色球练一练{    class Program    {        static void Main(string[] args)        {        //    while (true)        //    {                        //     ArrayList al = new ArrayList();        //    al.Add(1); al.Add(2); al.Add(3); al.Add(4)

Java知识树 集合 ArrayList

简要说明 ArrayList,实现了List接口,它是一个有序集合,即元素排列的顺序和添加元素的顺序一致,我们可以通过下面的示例代码和结构图来理解刚刚这句话. 示例代码: List<Integer> list = new ArrayList<Integer>(); list.add(6); list.add(4); list.add(7); list.add(6); list.add(1); 结构图: 通过上面的结构图我们可以知道ArrayList的底层是由数组来实现的,但它与数组

c# 集合ArrayList;特殊集合Stack、Queue

一)  ArrayList 1.foreach遍历数组中各个元素,执行内部语句 2.  3. 4.  myarry.Clear();//将集合清空 bool b = myarry.Contains(3);//判断是否有括号内的数据,返回的是bool值(True或者False) int bb = myarry.IndexOf(2);int cc = myarry.LastIndexOf(2);Console.WriteLine(bb); ArrayList ar = new ArrayList()