常用集合可分为两大类Collection和Map
Collection分为List和Set
Collection类型下的集合存储的数据为单列数据。
遍历方式包含迭代器(Iterator)和增强for循环。
List
1) List类型的集合支持直接索引。
2)其中的元素有序(按照添加顺序),可添加任意元素包括null,并且可以重复。
3)每个元素对应一个整数型的序号记载其在集合中的位置,可根据序号存取集合中的元素。
4)可用迭代器(Iterator)、增强for循环、直接索引的方式遍历。
ArrayList底层维护的是一个Object类型的可变数组,便于改查,利于增删。
LinkedList底层维护的是一个双向链表,便于增删,不利于改查。
Vector基本等同于ArrayList,不过Vector是线程安全的。
Set
1)Set类型集合是无序的(不按添加顺序),没有索引。
2) Set类型集合不允许有重复元素,且最多包含一个null。
3)可用迭代器(Iterator)、增强for循环遍历。
HashSet实际上是HashMap(具体见MAP相关笔记)。
LinkedHashSet实际上是LinkedHshMap,底层维护一共数组+双向链表。所以插入和取出顺序一致
Map
1) Map中保存的数据是双列数据Key-Value(键值对),Key和Value可以是任何引用类型的数据。
2) Map中Key不允许重复,Value可以重复,加入相同Key即替换Value值。
3) Map中Key可以为null但至多有一个null,Value可以为null且数量不限。
4) Map是将Key-Value封装成Node节点保存数据。
5) Map遍历方式见另一个笔记。
HashMap底层是数组+链表+红黑树,键是无序的(存入和取出顺序不一致)。
Hashtable与HashMap基本一致,不过是线程安全的。
LinkdeHshMap底层有双向链表所以键有序(取出和存入顺序一致)。
TreeMap用于键排序。
Pperties用于读取键值对类型文件。