C#常见的几种集合 ArrayList,Hashtable,List,Dictionary 遍历方法对比
一、先来分别介绍一下ArrayList,Hashtable,List<T>,Dictionary<K,V>
1.ArrayList动态数组,保存值的时候比较好用
2.Hashtable以存储键值对的方式存储。value,和key
3.List<T>和Dictionary<K,V>应该是泛型吧,可以保存实体类
二、各种集合的遍历方法演示
1.ArrayList
ArrayListlist=newArrayList(); //for遍历 for(inti=0;i<list.Count;i++) { SEse=(SE)list[i]; Console.WriteLine(se.Name); } //foreach遍历 foreach(Objectobjinlist) { SEse=(SE)list[i]; Console.WriteLine(se.Name); }
2.Hashtable
Hashtablelist=newHashtable(); //Hashtable不能用索引访问,所以遍历一个Hashtable只能用foreache()方法 //遍历Key foreach(Objectobjinlist.Keys) { Console.WriteLine((string)obj); } //遍历Value foreach(Objectobjinlist.Values) { SEse=(SE)obj; Console.WriteLine(se.Name); } //同时遍历,DictionaryEntry一个结构 foreach(DictionaryEntryeninlist) { Console.WriteLine(se.Keys); COnsole.WriteLine(((SE)en.Value).Name); }
3.List<T>
//for遍历 for(inti=0;i<list.Count;i++) { //遍历时不需要类型转换 Console.WriteLine(list[i]); } //foreach遍历 foreach(SEobjinlist) { //遍历时不需要类型转换 Console.WriteLine(obj); }
4.Dictionary<K,V>
//遍历Values foreach(SEseinlist.Values) { //遍历时不需要类型转换 Console.WriteLine(se); } //同时遍历 foreach(KeyValuePair<string,SE>eninlist) { Console.WriteLine(en.Key); Console.WriteLine(en.Value.Name); } //KeyValuePair<TKey,TValue>是一个泛型结构