先来说说数组的不足(也可以说集合与数组的区别):(这是我看得别人的这段)
1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的.
2.数组要声明元素的类型,集合类的元素类型却是object.
3.数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。
4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用。集合也是数据列表却不使用下标访问。很多时候集合有定制的下标类型,对于队列和栈根本就不支持下标访问.
此次试验总结:
1.以键值对形式存在的:
 HashTable,key必须唯一,不唯一异常
 NameValueCollection,key可以不唯一,则通过key得到和这个key关联的所有value
 SortedList,key唯一,但是重复插入相同key,old value被new value覆盖,也就是降频的key唯一
  以单object形式存在的:Arraylist,Queue,Stack
2.支持下标访问的:
 HashTable[key],得到key对应的value
 NameValueCollection[ksy],得到key对应的values们
 SortedList[ksy],得到key对应的value
  支持索引下标访问的:
 Arraylist[i],得到i位置的object ,下标越界出异常
  不支持下标访问的:
   Queue,Stack
测试代码:

 1    }

 

 1    }
 1    }
 1    }
 1    }
 1    }

另外对于hashtable认识还不够,hashtable为什么好?objet.GetHasCode()怎么生成的阿?谁给讲讲。

相关文章: