ArrayList:由于内部是一个object数组,添加数据不限制类型,因为内部有了数据自动扩容的方法,所以也不必担心数据量过大,溢出等原因。相比数组还是很有优势的,但是相比泛型集合,效率要比泛型集合慢很多,所以推荐使用泛型集合。
List<T>:List<T>是ArrayList的泛型版本,与ArrayList相比,最大的优点在于,因为本质是个泛型数组,List在使用时必须声明泛型的类型,所以在集合时会做严格的编译检查,集合只能储存T类型或其子类型的对象。
HashSet:自动消除重复的数据。
<LinkedList>:链表集合Linkedlist最大的特点是,集合本身只保存了头节点,如果添加第二个节点,那么其实是把节点的地址保存在了
头节点的next变量中,因此,链表集合内部不是依靠数组存放数据,所以每次添加的时候,不需要扩容。和其他集合相比,链表集合具有联系性,因为保存了上一个节点和下一个节点的地址。
Dictionary<K,V>:字典集合存储数据时,都是根据hashcode计算要存储的位置下标,可以直接去访问,而不需要逐个找。