zoukankan      html  css  js  c++  java
  • c#中的集合

    1.集合
    ArrayList
    Hashtable
    这两个集合在添加数据的时候,什么类型的数据都可以,因为是赋给object.但当从中去数据的时候,则会发生强制转换。即:这两个集合会发生拆装箱。
    List<>list = new List<>;
    list.Add()
    list.AddRange()
    list.Insert()
    list.InsertRange()
    list.Remove()
    list.RemoveRange()
    list.RemoveAt()
    list.Contains()//判断是否包含

    Dictionary<> dic = new Dictionary<>();
    dic.Add();

    foreach(KeyValuePair<>kv in dic )
    {kv.Key ;kv.Value}

    练习1.将int数组中的奇数放到一个新的int数组中返回。
    //练习1.将int数组中的奇数放到一个新的int数组中返回。
                int[] arr = {1,2,3,4,5,6,7,8,9,0 };
                List<int> list = new List<int>();
                for (int i = 0; i < arr.Length; i++)
                {
                    if(arr[i]%2 !=0)
                    {
                        list.Add(arr[i]);
                    }
                }
              arr = list.ToArray();
                foreach(var item in arr)
                {
                    Console.WriteLine(item);
                }
                Console.ReadKey();
            }

    集合初始化器
    List<int>list = new List<int>(){1,2,3,4,5,676,78};
    等价与list.AddRange(new int[]1,2,3,4,5,676,78});
    对象初始化器
    person p = new person(){name = " " , age = 12};

    创建一个集合ArrayList
                ArrayList list = new ArrayList();
                //集合中可以添加任意类型元素
               // list.Add主要用于添加单个元素
                list.Add(2);
                list.Add(3.14);
                //list.Add(new int[]{1,2,3,4,5,6});//这个不能直接输出,需要进行类型强制转换后才能输出
                //list.Range()用于添加集合元素
                list.AddRange(new int []{1,2,3,4,5,6});//采用range添加的集合能后用for输出。
                for (int i = 0; i < list.Count; i++)
                {
                    Console.WriteLine(list[i]);
                }
                list.AddRange(list);//添加list集合
                //移除单个元素
                list.Remove(true);
                //根据下标移除元素
                list.RemoveAt(0);
                list.Clear();//清空集合

                list.RemoveRange(0,4);//根据下标移除一定范围的元素

                list.Sort();//升序排列,但必须满足的条件是集合中的元素类型要一致

                list.Reverse();//将集合中的元素反转

                list.Insert(0,'1');//在指定下标前,插入单个字符
                list.InsertRange(0,new int []{1,2,3});//在指定的下标前插入一个集合

                bool b = list.Contains(1);//判断集合中是否包含某元素


    5.ArrayList集合中的长度问题
    每次集合中实际包含的元素的个数(count)超过了包含元素的个数(capacity)的时候,集合就会向内存中申请多开辟一赔的空间,来保证集合的长度一直够用。(按照2的倍数增大)

    6.hashtable 键值对集合
    var d = 2;//根据赋值推断变量的类型。

    键值对集合中,键必须是唯一的,值可以重复。


    ht.ContainsKey();//判断是否有某个键

    ht.clear();//清空集合中的所有元素
    ht.Remove();//根据键去移除元素

    Hashtable ht = new Hashtable();
                //添加键值对到集合中去
                ht.Add(1 ,"张三");
                ht.Add(2,2);
                ht.Add(false ,"你是错五的");
                //添加数据的另一种方式   这种形式的添加数据,如果有键了,则会干掉原有的值,添加新的值
                ht[6] = "  xinglaisde";
                foreach(var item in ht.Keys)
                {
                    Console.WriteLine("键{0} ,值{1}",item,ht[item]);
                }

  • 相关阅读:
    Leetcode Substring with Concatenation of All Words
    Leetcode Divide Two Integers
    Leetcode Edit Distance
    Leetcode Longest Palindromic Substring
    Leetcode Longest Substring Without Repeating Characters
    Leetcode 4Sum
    Leetcode 3Sum Closest
    Leetcode 3Sum
    Leetcode Candy
    Leetcode jump Game II
  • 原文地址:https://www.cnblogs.com/jefy/p/9207527.html
Copyright © 2011-2022 走看看