集合之hashtable,List,Dictionary

一、hashtable和ArrayList的性能比较

hashtable比ArrayList取值更快。原因是前者是根据键直接取值,但是ArrayList是循环整个集合,找到需要的元素。

二、hashtable的用法

 1  static void Main(string[] args)
 2         {
 3             Hashtable hs = new Hashtable();
 4             hs.Add("zs","张三");
 5             hs.Add("ls", "李四");
 6             hs.Add("ww", "王五");
 7             hs.Add("zl", "赵六");
 8 
 9             //只循环键
10             foreach (var item in hs.Keys)
11             {
12                 Console.WriteLine(item);
13             }
14 
15             //只循环值
16             foreach (var item in hs.Values)
17             {
18                 Console.WriteLine(item);
19             }
20 
21             //循环键值对
22             foreach (DictionaryEntry item in hs)
23             {
24                 Console.WriteLine(item.Key+" "+item.Value);
25             }
26 
27             //hashtable只能根据键来取值,所以通常不能通过for来循环 hashtable。当然如果把键设置成和循环下标相同的值就可以。
28             //for (int i = 0; i <hs.Count; i++)
29             //{
30             //    Console.WriteLine(hs[i]);//不存在这个键,所以不会有内容输出
31             //}
32 
33             Console.ReadKey();
34         }
View Code

三、泛型集合

List,Dictionary。注意遍历Dictionary的key,value时,可以用KeyValuePair<K,V>。

原文地址:https://www.cnblogs.com/wesley168/p/6524812.html