码迷,mamicode.com
首页 > 其他好文 > 详细

双列集合之hashtable

时间:2017-03-09 13:34:21      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:lin   one   ted   分享   ble   static   view   image   list   

一、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

 

 static void Main(string[] args)
        {
            Hashtable hs = new Hashtable();
            hs.Add("zs","张三");
            hs.Add("ls", "李四");
            hs.Add("ww", "王五");
            hs.Add("zl", "赵六");

            //只循环键
            foreach (var item in hs.Keys)
            {
                Console.WriteLine(item);
            }

            //只循环值
            foreach (var item in hs.Values)
            {
                Console.WriteLine(item);
            }

            //循环键值对
            foreach (DictionaryEntry item in hs)
            {
                Console.WriteLine(item.Key+" "+item.Value);
            }

            //hashtable只能根据键来取值,所以通常不能通过for来循环 hashtable。当然如果把键设置成和循环下标相同的值就可以。
            //for (int i = 0; i <hs.Count; i++)
            //{
            //    Console.WriteLine(hs[i]);//不存在这个键,所以不会有内容输出
            //}

            Console.ReadKey();
        }

双列集合之hashtable

标签:lin   one   ted   分享   ble   static   view   image   list   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!