ArrayList集合、Hashtable键值对集合、List泛型集合、Dictionary 键值对泛型集合

1、集合体系


2、ArrayList

  • 属于引用类型,ArrayList集合和List都是非静态类,使用时都必须先实列化
  • ArrayList类似一个数组,但比数组优越的是它的长度大小可变,并且可以存放不同类型的变量,包括值类型和引用类型。
  • ArrayList的方法
  1. Add(obejct value):方法用于添加一个元素到当前列表的末尾;
  2. AddRange() :方法用于添加一批元素(数组或集合)到列表的末尾;
  3. Remove() :方法用于删除一个元素,通过元素本身的引用来删除,参数填什么就删什么,
  4. RemoveAt(int index) :方法用于删除一个元素,通过索引值来删除;
  5. RemoveRange(int startIndex,int count) :用于删除一批元素,通过指定开始的索引和删除的数量来删除;
  6. Insert(int index,value) :用于添加一个元素到指定位置,列表后面的元素依次往后移;
  7. InsertRange(int index,values) :用于从指定位置开始添加一批元素,列表后面的元素依次往后移动;
  8. Contains() :用于查看集合中是否包含所给元素,返回boolean类型;
  9. Sort():集合排序;
  • ArrayList的两个属性
  1.  Count :获取这个集合中实际包含的元素个数
  2.  Capcity:获取这个集合可以包含的元素个数;
------------------------------------------------------------------------------------------
ArrayList list = new ArrayList(); 
            list.Add(1);
            list.Add(true);
            list.Add("张三");
            Person p =  new Person();
            list.Add(p);
            list.AddRange(new int[] { 1, 2, 3, 4, 5 });
            for (int i = 0; i < list .Count; i++)
            {
                if (list[i] is Person)
                {
                    ((Person)list[i]).SayHello();
                }
                else if (list[i] is int[])
                {
                    for (int j = 0; j < ((int[])list[i]).Length; j++)
                    {
                        Console.WriteLine(((int[])list[i])[j]);
                    }
                }
                else
                {
                    Console.WriteLine(list[i]);
                }
------------------------------------------------------------------------------------------
3、Hashtable键值对集合
  • 哈希表,哈希表将键映射到相应的值,以键值对的形式存储到集合;
  • 在键值对集合中,键是唯一的,不能重复的,而值是可以重复的。
  • Hashtable加添键值对
  1.   Add(键,值);   (如:Hashtable ht = new Hashtable();   ht.Add(1,"张三"); )
  2.   Hashtable对象[键] = 值;(如:ht[2]="张三";)
  • Hashtable集合foreach遍历取值:
foreach ( var item  in ht .Keys) { 
 Console.WriteLine("键{0}-->值{1}",item,ht[item]); 
 }
  • Hashtable方法:
  1. Add(键,值);    添加键值对集合;
  2. Remove(键); 根据键删除数据;
  3. Clea();   清空集合;
  4. ContainsKey(键);  判断集合是否包含特定的键,返回boolean值;
  5. ContainsValue(值);   判断集合是否包含特定的值,返回boolean值;

4、List泛型集合
  • 命名空间引用 System.Collections.Generic
  • List泛型集合的创建
List 变量名= new List();
  • ArrayList集合在存取数据时往往会发生装箱、拆箱,所以使用List泛型集合。
  • List泛型集合是一个按需动态增加的数组。
  • List泛型集合方法:
Add() 向集合中添加单个元素;
AddRange() 向集合中添加一批元素(相应类型的数组);
ToArray() 将List泛型集合转换为相应类型的数组;

5、Dictionary 键值对泛型集合
  • Dictionary 键值对泛型集合的创建
Dictionary<键类型,值类型> 变量名 = new Dictionary<键类型,值类型>();
  • Dictionary 集合的方法:
  1. Add(键,值)向集合中添加键值对;
  2. Remove(键); 根据键删除数据;
  3. Clea();   清空集合;
  4. ContainsKey(键);  判断集合是否包含特定的键,返回boolean值;
  5. ContainsValue(值);   判断集合是否包含特定的值,返回boolean值;
  • Dictionary 集合的foreach遍历取值
foreach(KeyValuePair<键类型,值类型> kv  in  Dictionary变量 ){
Console.WriteLine("键{0},值{1}",kv .Key,kv .Value);
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值