zoukankan      html  css  js  c++  java
  • C#使用集合组织相关数据

    一、为什么使用集合?
    数组的长度是固定的,对数组中的元素进行动态添加和删除的时候很麻烦。集合可以更好的进行对元素添加和删除
    二、ArrayList集合:
    1.类似于数组,但是可以直观的动态维护。
    2.位于System.Collections命名空间里面
    3.ArrayList是动态可维护的,所以在声明的时候可以不指定大小
    4.声明ArrayList的语法:
    (1)ArrayList arr = new ArrayList();
    (2)ArrayList arr = new ArrayList(2);
    5.给集合中添加元素:
    add()
    eg:arr.Add(“值”);
    6.获取集合中的指定元素(根据集合的下标获取)
    arr[0];
    7.遍历集合中的元素:
    (1)使用for循环来获取
    for (int i = 0; i < array.Count;i++ ) {
    Console.WriteLine(“元素是:”+array[i]);
    }
    (2)使用foreach来获取
    foreach(object o in array){
    Console.WriteLine(“元素是:”+o);
    }
    8.获取集合的长度:
    集合名.Count;
    9.删除集合中的元素:
    (1)根据索引删除
    RemoveAt(int index)
    eg:arr.RemoveAt(1);
    (2)删除指定对象名的元素
    Remove(object value);
    eg:arr.Remove(“张三”);
    (3)清空集合里面所有的元素:
    Clear();
    arr.Clear();
    10.需要注意的是,将ArrayList里面的元素删除时,集合的索引会随之改变。
    三、HashTable集合:
    1.存储的是键值对形式的数据
    2.所属的命名空间是:System.Collections;
    3.声明HashTable集合:
    HashTable ht = new HashTable();
    4.给集合中添加元素:
    Add(object key,object value);
    key:键
    value:值
    eg:ht.Add(1,“一”);
    5. 获取集合中的元素:
    ht[键]
    eg:ht[1];
    6.遍历hashTable集合:
    (1)遍历键:
    foreach(object o in ht.Keys){
    Console.WriteLine(o);
    }
    (2)遍历值:
    foreach(object o in ht.Values){
    Console.WriteLine(o);
    }
    7.删除HashTable集合中的元素:
    Remove(); //根据键删除值
    eg:ht.Remove(1);
    四、泛型集合List:
    1.可以对集合中的元素类型进行约束
    2.T代表元素的类型
    3.声明泛型集合:
    List list = new List();
    4.获取元素,添加元素,删除元素,遍历元素均和ArrayList一样。
    5.List和ArrayList的区别:
    (1)相同点:添加、删除、访问、遍历元素都一样
    (2)异同点:List对保存的元素做类型约束,而ArrayList不限制类型。List添加、读取元素的时候无需做装箱、拆箱操作,而ArrayList在添加和读取元素的时候需要装箱和拆箱操作。
    五、Dictionary泛型集合:
    1.存放的是键值对的元素,声明的同时约束键和值的类型。
    2.声明:
    Dictionary<int,string> dic = new Dictionary<int,stirng>();
    3.给集合里面添加元素:
    Add()方法:
    dic.Add(1,“中国”);
    4.根据键来获取值:
    dic[1];
    5.根据键删除值:
    dic.Remove(1);
    6.遍历的集合:
    foreach(值的类型 遍历 in 集合.Values){
    Console.WriteLine(s);
    }
    六、泛型类:
    1.创建泛型类:
    public class Test{
    public T id; //id的类型取决于Test中的T
    }
    2.调用泛型类:
    Test t = new Test();
    t.id = 10; //值是int类型
    3.泛型的优点:
    (1)性能高
    (2)类型安全
    (3)实现代码的重要

  • 相关阅读:
    leetcode 48. Rotate Image
    leetcode 203. Remove Linked List Elements 、83. Remove Duplicates from Sorted List 、82. Remove Duplicates from Sorted List II(剑指offer57 删除链表中重复的结点) 、26/80. Remove Duplicates from Sorted ArrayI、II
    leetcode 263. Ugly Number 、264. Ugly Number II 、313. Super Ugly Number 、204. Count Primes
    leetcode 58. Length of Last Word
    安卓操作的一些问题解决
    leetcode 378. Kth Smallest Element in a Sorted Matrix
    android studio Gradle Build速度加快方法
    禁用gridview,listview回弹或下拉悬停
    Android Studio找不到FragmentActivity类
    安卓获取ListView、GridView等滚动的距离(高度)
  • 原文地址:https://www.cnblogs.com/a1111/p/12815857.html
Copyright © 2011-2022 走看看