C#中的集合、哈希表、泛型集合、字典

本文详细介绍了C#中的几种集合类型:ArrayList,提供动态数组功能,适用于任意类型;哈希表Hashtable,用于键值对存储,非泛型;List<T>,泛型集合,类型安全且高效;以及字典Dictionary<TKey, TValue>,快速键值对查找。这些集合在不同场景下各有优势,如ArrayList的动态长度调整,List<T>的类型安全,以及Dictionary<TKey, TValue>的快速查找。" 46659475,1572855,产品级敏捷开发:如何设定有效的版本发布节奏,"['敏捷开发', '产品管理', '项目计划', '需求分析', '团队协作']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合ArrayList

集合:集合可以看做是数组,可以将其看成“长度可变,具有很多方法的数组”。使用ArrayList,首先需要导入命名空间using.system.collections。通过添加和删除元素,就可以动态改变数组的长度。

优点:动态的增加和删除元素;实现了ICollection和IList接口;灵活的设置数组的大小。

ArrayList的构造器:

 

ArrayList的属性:

 

 

 

集合常用的方法:

添加数据:给集合添加数据用add()这个方法。添加内容可以无限添加。

ArrayList arrayList=new ArrayList();
arrayList.Add(10);
arrayList.Add(20);
arratList.Add("小苏");
arrayList.Add('女');
arrayList.Add(true);
arrayList.Add(3.15m);
arrayList.Add(56.8);

 往集合中添加数据有三种方式:

A、通过构造函数可以添加一个数组;

B、通过Add()方法添加数组,但是算成一个元素;

C、通过AddRange()方法可以添加数组。

使用Add()可以添加数据,并且与数组一样可以使用下标(索引)访问数据,使用下标访问的数据是object类型的,必要时需要进行转换,必须满足里式转换原则。

Addrange()将数组或集合当中的数据批量的一个一个的加进来。Add()同样可以将数组或集合作为数据加入,但此时加入是将数组或集合作为一个项加过去。只有找到该项,才能通过下标访问其中的数据。

插入数据:给集合插入数据使用Insert()方法,通过索引插入数据。

    ArrayList arrayList=new ArrayList();
    arrayList.Add(1);
    arrayList.Add(3);
    arrayList.Add(5);
    arrayList.Add(7);
    arrayList.Add(9);
    
    for (int i=1;i<+10;i+=2)
    {
        arrayList.Insert(i,i+1);//往某个下标的位置插入一个值
    }
    
    
   

其他常用方法:

    
    ArrayList arraylist=new ArrayList();//实例化

    arraylist.Clear();//清空内容

    arraylist.Contains(1);//判断集合中是否包含这个元素
    Console.WriteLine(arraylist.Contains(1));

    int num = arraylist.Count;//集合中元素的个数

    int number = arraylist.IndexOf(2);//找集合中某一个元素的索引 
    Console.WriteLine(number);

    arraylist.InsertRange(,)//往某一个索引位置插入一个数组

    arraylist.Remove(1);//从集合中移除某个元素

    arraylist.RemoveAt(1);//移除索引对应的值

    arraylist.RemoveRange(,);//从指定索引处开始移除 移除多少了 如果超出索引则报异常

    arraylist.Reverse();// 反转

    arraylist.Sort();//排序

    int number= arraylist.Count//利用ArrayList的Count属性查看该集合中元素的数量
  

三种遍历方法:

//第一种遍历:ArrayList对象的方法
foreach(object o in al)
{
    Console.Write(o.ToString()+" ")
}

//第二种遍历:ArrayList对象的方法
IEnumerator ie=al.GetEnumerator();
While(ie.MoveNext())
{
    Console.Write(ie.Curret.ToString()+"");
}

//第三种遍历:ArrayList对象的方法。利用ArrayList对象的Count属性,它返回此对象中元素的个数,然后再通过索引遍历
for(int i=0;i<Count;i++)
{
    Console.Write(al[i].ToString()+"");
}

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值