【C#】ArrayList、HashTable、泛型集合、Dictionary、foreach

一、ArrayList  

  • ArrayList元素的增加(add addrange)、插入(insert)、删除(remove)、清空(clear)、排序(sort)、反转(reserve)。
  • ArrayList.Add()添加任何类型
  • ArrayList.AddRange实现接口的东西,如数组、集合

 ps:添加数组用add

 二、HashTable

  • HashTable的增、删、查、判存。
  • 添加数据,都是“键值对”的形式
  • 键值对均是object类型
  • 键值对中的键key就是为了找数据用的,必须提供,不允许重复,无序的
  • HashTable使用键作为寻找的方式,是一种无序的结构
  • 得到数据
  • 使用<hashtable实例名>[键],将返回object类型的,由键对应的数据
  • 强转,使用里氏转换原则
Hashtable ht = new Hashtable();
//哈希表 以键值对的形式存值   key-----键   value-----值
//无序的 
ht.Add("老苏", "001");
ht.Add("小马", 002);
ht.Add(1003, "老牛");
ht.Add(new Person("小杨", '男', 18), 005);

ht.Add("小赵", "老马");
            
ht.Remove(1003);
Console.WriteLine("{0}-----{1}","老苏",ht["老苏"]);

foreach (object str in ht.Values)
{
    //Console.WriteLine("key{0},-----value{1}",str,ht[str]);
    Console.WriteLine(str);
}

Console.WriteLine("添加成功了");
Console.ReadKey();

结果:

 三、泛型集合

  • List<T>
  • 泛型集合
  • 就是为了专门处理某种类型
  • ArrayList对应的是List<类型名>
  • 在尖括号中写什么类型,这个集合就变成了什么类型的集合
  • 添加数据、插入数据、索引访问数据都是这个类型的,不用考虑所有的转换问题
List<int> list = new List<int>();
            
//随机的往这个List集合中添加十个数据,求和,求最大值,求最小值,求平均值

Random r = new Random();

int num = 0;
            
while (list.Count!=10)
{
    num = r.Next(1, 100);
    if (!list.Contains(num))
    {
        list.Add(num);
    }               
}
Console.WriteLine("最大值:{0}",list.Max());
Console.WriteLine("最小值:{0}",list.Min());
Console.WriteLine("和为{0}",list.Sum());
Console.WriteLine("平均值{0}",list.Average());
Console.ReadKey();

List<string> listStr = new List<string>();
listStr.Add("哈哈,小花又变可爱了");

list.Clear();//移除所有的元素

结果:

 三、Dictionary

 Dictionary<Tkey,Tvalue>

Dictionary<string, string> dic = new Dictionary<string, string>();
//和哈希表很像,也是无序的
dic.Add("小花", "可爱");
dic.Add("提高", "技术");
dic.Add("蓝天", "白云");
dic.Add("哈哈", "嘿嘿");

foreach (string item in dic.Keys)
{
    Console.WriteLine("key---:{0},value---:{1}",item,dic[item]);
}
Console.ReadKey();

 结果:

四、foreach

 语法:

Foreach(集合中单个的类型 局部变量名 in 集合对象)
{
    //循环体
    //循环体当中“局部变量”表示集合中遍历的数据
}
发布了70 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hsm_Jasmine/article/details/100810873
今日推荐