zoukankan      html  css  js  c++  java
  • 第18节、C#集合.ArrayList集合类

    ArrayList集合类

    简述:arrayList类相当于一种高级的动态数组,它是Array类的升级版,以类区别

    • 数组的容器是固定的,而ArrayList容器可以根据需要自动扩展
    • ArrayList提供添加、删除、插入某一范围元素的方法,而数组只能一次获取或者设置一个元素的值
    • ArrayList提供将只读、固定大小包装返回到计集合的方法,而数组不提供
    • ArrayList只能是一位数组,而数组可以多维数组

    1.1 ArrayList声明

    提供三种方式声明

    ArrayList list=new ArrayList();

    ArrayList list=new ArrayList(arryName); arryName表示可以添加集合的数组名

    ArrayList list=new ArrayList(n);你表示空间大小

    1.2ArrayList   Add、Insert、Clear、Remove、RemoveAt、RemoveRange方法使用示例如下

     完整代码如下:

     1 #region ArrayList添加 add
     2             int[] a = { 1, 2, 5, 6 };
     3             ArrayList list = new ArrayList(a);
     4             list.Add(3);
     5 
     6             foreach (int i in list)
     7             {
     8                 Console.WriteLine("ArrayList.add后" + i);
     9             }
    10             #endregion
    11 
    12             //该方法用来将元素插入集合的指定索引处
    13             #region ArrayList插入 Insert
    14             int[] a2 = { 1, 2, 5, 6 };
    15             ArrayList list2 = new ArrayList(a2);
    16             list2.Insert(2, 3);//第一个参数是表示下标,第二个参数时代表插入值
    17 
    18             foreach (int i in list2)
    19             {
    20                 Console.WriteLine("ArrayList.Insert后" + i);
    21             }
    22             #endregion
    23 
    24             //该方法用来从ArrayList删除所有元素
    25             #region ArrayList清除 Clear
    26             int[] a3 = { 1, 2, 5, 6 };
    27             ArrayList list3 = new ArrayList(a3);
    28             list3.Clear();//清除所有
    29 
    30             foreach (int i in list3)
    31             {
    32                 Console.WriteLine("ArrayList.Clear后" + i);
    33             }
    34             #endregion
    35 
    36             //该方法用来从ArrayList中移除特定对象的第一个匹配项
    37             #region ArrayList 删除 Remove
    38             int[] a4 = { 1, 2, 5, 6 };
    39             ArrayList list4= new ArrayList(a4);
    40             list4.Remove(2);//删除匹配的
    41 
    42             foreach (int i in list4)
    43             {
    44                 Console.WriteLine("ArrayList.Remove后" + i);
    45             }
    46             #endregion
    47 
    48             //该方法用来从ArrayList中移除指定索引处元素
    49             #region ArrayList 索引删除 RemoverAt
    50             int[] a5 = { 1, 2, 5, 6 };
    51             ArrayList list5 = new ArrayList(a5);
    52             list5.RemoveAt(3);//删除下标位置的
    53 
    54             foreach (int i in list5)
    55             {
    56                 Console.WriteLine("ArrayList.RemoveAt后" + i);
    57             }
    58             #endregion
    59 
    60             //该方法用来从ArrayList从某个索引开始删除,删除多个数值
    61             #region ArrayList 删除 RemoveRange
    62             int[] a6 = { 1, 2, 5, 6 };
    63             ArrayList list6 = new ArrayList(a6);
    64             list6.RemoveRange(0,1);//删除位置加长度的
    65 
    66             foreach (int i in list6)
    67             {
    68                 Console.WriteLine("ArrayList.RemoveRange后" + i);
    69             }
    70             #endregion
    71             Console.ReadLine();
    View Code

    ArrayList类中常用的属性和方法如下

    属性或方法作用
    int Add(object value) 向集合中添加 object 类型的元素,返回元素在集合中的下标
    void AddRange(ICollection c) 向集合中添加另一个集合 c
    Capacity 属性,用于获取或设置集合中可以包含的元素个数
    void Clear()  从集合中移除所有元素
    bool Contains(object item) 判断集合中是否含有 item 元素,若含有该元素则返回 True, 否则返回 False
    void CopyTo(Array array) 从目标数组 array 的第 0 个位置开始,将整个集合中的元素复制到类型兼容的数组 array 中
    void CopyTo(Array array,int arraylndex) 从目标数组 array 的指定索引 arraylndex 处,将整个集合中的元素赋值到类型兼容的数组 array 中
    void CopyTo(int index,Array array,int arrayIndex,int count) 从目标数组 array 的指定索引 arrayindex 处,将集合中从指定索引 index 开始的 count 个元素复制到类型兼容的数组 array 中
    Count 属性,用于获取集合中实际含有的元素个数
    int IndexOf(object value) 返回 value 值在集合中第一次出现的位置
    int IndexOf(object value,int startIndex) 返回 value 值在集合的 startindex 位置开始第一次出现的位置
    int IndexOf(object value,int startIndex,int count) 返回 value 值在集合的 startindex 位置开始 count 个元素中第一次出现的位置
    int LastIndexOf(object value)  返回 value 值在集合中最后一次出现的位置
    int LastIndexOf(object value,int startIndex) 返回 value 值在集合的 startindex 位置开始最后一次出现的位置
    int LastIndexOf(object value,int startIndex,int count) 入元素 value值在集合的 startindex 位置开始 count 个元素中最后一次出现的位置
    void Insert(int index,object value) 返回 value 向集合中的指定索引 index 处插
    void InsertRange(int index,ICollection c)  向集合中的指定索引 index 处插入一个集合
    void Remove(object obj) 将指定兀素 obj 从集合中移除
    void RemoveAt(int index) 移除集合中指定位置 index 处的元素
    void RemoveRange(int index,int count) 移除集合中从指定位置 index 处的 count 个元素
    void Reverse()  将集合中的元素顺序反转
    void Reverse(int index,int count) 将集合中从指定位置 index 处的 count 个元素反转
    void Sort() 将集合中的元素排序,默认从小到大排序
    void Sort(IComparer comparer)  将集合中的元素按照比较器 comparer 的方式排序
    void Sort(int index,int count,IComparer comparer) 将集合中的元素从指定位置 index 处的 count 个元素按照比较器 comparer 的方式排序
    void TrimToSize() 将集合的大小设置为集合中元素的实际个数
  • 相关阅读:
    实验楼挑战赛(1)-实现不可修改字典
    python django前端界面实现数据库数据excel导出
    python2中range和xrange的异同
    python的json模块的dumps,loads,dump,load方法介绍
    ajax500错误
    伪元素小tips
    使用css3制作蚂蚁线
    chardet坑——比蜗牛还慢
    Flask的socket.error:10053
    chrome插件开发-消息机制中的bug与解决方案
  • 原文地址:https://www.cnblogs.com/liuzz/p/14534923.html
Copyright © 2011-2022 走看看