参考: http://blog.csdn.net/speedme/article/details/22398395
- Set(集)
- List(列表)
- Map(映射)
-
有人想有可以自动扩展的数组,所以有了List
-
有的人想有没有重复的数组,所以有了set
-
有人想有自动排序的组数,所以有了TreeSet,TreeList,Tree**
-
而几乎有有的集合都是基于数组来实现的.
-
因为集合是对数组做的封装,所以,数组永远比任何一个集合要快
-
但任何一个集合,比数组提供的功能要多
-
一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。
-
二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。
-
三:数组是一种可读/可写数据结构---没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方法,
-
以只读方式来使用集合。该方法将返回一个集合的只读版本。
Map主要存放键值<key-value>对,而继承Collection的List和Set则只是 index 与 value的关系,不存在key。这两者的区别则是最关键的部分。