黑马程序员_List泛型集合如Dictionary键值对集合的一些用法

来源:互联网 发布:数据还原精灵 编辑:程序博客网 时间:2024/05/16 18:49

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

List泛型集合:List<T>
泛型集合
就是为了专门处理某种类型
 ArrayList对应的是 List<类型名>
在尖括号中写什么类型,这个集合就变成了什么类型的集合

语法:List<数据类型>  集合名称=new List<数据类型>();

using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _06List泛型集合
{
    class Program
    {
        static void Main(string[] args)
        {
          
            List<int> list = new List<int>();
            list.Add(1);
            list.Add(2);
            list.AddRange(new int[] { 1, 2, 3, 4, 5 });
            list.AddRange(list);
            //将集合转换成数组
            //List<string> listTwo = new List<string>();
            //listTwo.ToArray()

            //List<byte> list1 = new List<byte>();
            //list1.ToArray()


            //for (int i = 0; i < list.Count; i++)
            //{
            //    Console.WriteLine(list[i]);
            //}

            foreach (int item in list)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
         //   ArrayList listArr = new ArrayList();
        }
    }
}

2,键值对集合:Dictionary <TKey,TValue>
默认提供命名空间,提倡使用
Hashtable对应的是 Dictionary<键的类型, 值的类型>
在尖括号中填入键的类型与值的类型,那么这个集合就变成了一个指定的键值对模型

 static void Main(string[] args)
        {
            #region 键值对的应用
            Console.WriteLine("请输入一个字符串");
            string str = Console.ReadLine();
            Dictionary<char, int> dic = new Dictionary<char, int>();

            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == ' ')
                {
                    continue;
                }
                if (!dic.ContainsKey(str[i]))
                {
                    dic.Add(str[i], 1);
                }
                else
                {
                    dic[str[i]]++;
                }
            }
            //dic = dic.OrderBy(r=>r.Value).ToDictionary(r=>r.Key,r=>r.Value);//升序排列
            dic = dic.OrderByDescending(r => r.Value).ToDictionary(r => r.Key, r => r.Value);//降序
            foreach (KeyValuePair<char, int> item in dic)
            {
                Console.WriteLine("{0}--{1}", item.Key, item.Value);
            }
            Console.ReadKey();

}

3,泛型集合与键值对集合的结合

 #region 泛型集合与键值对集合的结合
            //List<int> list = new List<int>();
            //List<int> listTwo = new List<int>();
            //for (int i = 1; i <= 100; i++)
            //{
            //    if (i % 2 == 0)
            //    {
            //        list.Add(i);
            //    }
            //    else
            //    {
            //        listTwo.Add(i);
            //    }
            //}
            //Dictionary<int, int> dic = new Dictionary<int, int>();
            //for (int i = 0; i < 50; i++)
            //{
            //    dic.Add(listTwo[i], list[i]);
            //}
            //foreach (KeyValuePair<int, int> item in dic)
            //{
            //    Console.Write("{0} {1}\t", item.Key, item.Value);
            //}
            //Console.ReadKey();
            //foreach (var item in list)
            //{
            //    Console.Write("{0}\t", item);
            //}
            //Console.WriteLine();
            //foreach (var item in listTwo)
            //{
            //    Console.Write("{0}\t", item);
            //}
            //Console.WriteLine(list.Count);
            //Console.ReadKey();
            #endregion

 //int[] number={2,4,6,8,12};
            //int[] number1 = { 3, 7, 9, 11 };
            //List<int> list = new List<int>(9);
            //for (int i = 0; i < number.Length; i++)
            //{
            //    list.Add(number[i]);
            //}
            //int count = 1;
            //for (int i = 0; i < number1.Length; i++)
            //{
            //    list.Insert(count,number1[i]);
            //    count += 2;

            //}
            //foreach (var item in list)
            //{
            //    Console.WriteLine(item);
            //}
            //Console.ReadKey();

 

就写到这了,有兴趣的可以私密我454663723@qq.com

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

0 0