2012.6.4 ArrayList集合 List泛型 Hashtable键值对的集合 Dictionary
2012-06-04 19:35
459 查看
对于以上四种
其实就分两种
1 . List泛型
2. Dictionary键值集合
Dictionary 存储模式相当于字典一样 。查找的速度相当之快
当我要查找一个键对应的值时,他会根据键的内存地址来直接查找,而不是遍历所有数据;
也推荐 我们使用这两种,相当于是前面的生级版。好用
其实就分两种
1 . List泛型
2. Dictionary键值集合
Dictionary 存储模式相当于字典一样 。查找的速度相当之快
当我要查找一个键对应的值时,他会根据键的内存地址来直接查找,而不是遍历所有数据;
也推荐 我们使用这两种,相当于是前面的生级版。好用
#region 练习:计算字符串中每种字符出现的次数(面试题)。 “Welcome to Chinaworld”,不区分大小写,打印“W2”“e 2”“o 3”……提示:Dictionary<char,int>,char的很多静态方法。char.IsLetter() string dimsg = "Welcome to Chinaworld"; // dimsg = dimsg.Replace(" ", "").Trim(); Dictionary<char, int> di1 = new Dictionary<char, int>(); foreach (char item in dimsg) { if (char.IsLetter(item)) { bool diflag = true; KeyValuePair<char, int> it = new KeyValuePair<char, int>(); foreach (var item1 in di1) { if (item1.Key.ToString().ToLower() == item.ToString().ToLower()) { it = new KeyValuePair<char, int>(item1.Key, item1.Value + 1); diflag = false; break; } } if (diflag) { di1.Add(item, 1); } else { di1[it.Key] = di1[it.Key] + 1; } } } foreach (var item in di1) { Console.WriteLine(item.Key+"|"+item.Value); }
//先把QQ和网址存到qqhtml中,以下是我手写做测试的 List<List<string>> qqhtml = new List<List<string>>(); //查找网址和对应QQ List<string> qqhtmlli = new List<string>(); qqhtmlli.Add("61794481"); qqhtmlli.Add("wwwww.fds.fds"); qqhtml.Add(qqhtmlli); List<string> qqhtmlli1 = new List<string>(); qqhtmlli1.Add("61794481"); qqhtmlli1.Add("wwfdswww.fds.f11ds"); qqhtml.Add(qqhtmlli1); List<string> qqhtmlli2 = new List<string>(); qqhtmlli2.Add("61794481"); qqhtmlli2.Add("ww.fddsasds.fds"); qqhtml.Add(qqhtmlli2); List<string> qqhtmlli3 = new List<string>(); qqhtmlli3.Add("61794480"); qqhtmlli3.Add("ww.fdsadsads.fds"); qqhtml.Add(qqhtmlli3); List<string> qqhtmlli4 = new List<string>(); qqhtmlli4.Add("61794480"); qqhtmlli4.Add("ww.fdeqweass.fds"); qqhtml.Add(qqhtmlli4); List<string> qqhtmlli5 = new List<string>(); qqhtmlli5.Add("61794482"); qqhtmlli5.Add("ww.fdqwes.fds"); qqhtml.Add(qqhtmlli5); //这个时候把相同的QQ对应的网址存起来。一个QQ对应的是一个网址数组 Dictionary<string, ArrayList> di0 = new Dictionary<string, ArrayList>(); foreach (var item in qqhtml) { if (di0.ContainsKey(item[0])) { ArrayList lis = di0[item[0]]; lis.Add (item[1]); di0[item[0]] = lis; } else { ArrayList lis = new ArrayList(); lis.Add(item[1]); di0.Add(item[0], lis); } } //然后读取 foreach (var item in di0) { Console.WriteLine(); Console.WriteLine(item.Key);//这里是QQ Console.WriteLine("---------------以下是网址"); foreach (var ite in item.Value)//这里QQ对应的网址数组 { Console.WriteLine(ite.ToString()); } }
相关文章推荐
- 黑马程序员_学习日记39_604基础加强(垃圾回收、弱引用、集合ArrayList和Hashtable、泛型集合List和Dictionary、var)
- 泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,Queu
- 总结C#集合类 Array Arraylist List Hashtable Dictionary
- 集合简单总结 ArrayList、List、Hashtable、Dictionary
- 【C#】数组与集合(LIst、ArrayList、HashTable、Dictionary)
- C#集合类(HashTable, Dictionary, ArrayList,List)与HashTable线程安全
- C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue 泛型
- 黑马程序员_List泛型集合如Dictionary键值对集合的一些用法
- [C#]泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,
- C#中的集合ArrayList、List、Hashtable、Dictionary
- C# 集合类总结(Array,Arraylist,List,Hashtable,Dictionary,Stack,Queue)
- C# 集合类总结 :(Array、 Arraylist、List、Hashtable、Dictionary、Stack、Queue)
- C#集合类(Array、Arraylist、List、Hashtable、Dictionary、Stack、Queue)
- C#集合类(Array、Arraylist、List、Hashtable、Dictionary、Stack、Queue)
- [C#]泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,Queue<T>,Stack<T>等
- C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary)
- C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary)
- 集合----ArrayList、HashTable、List、Dictionary的演化及如何选择使用
- C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary)
- C#使用集合组织数据(HashTable、ArrayList、List<T>,Dictionary<K,V>