集合主要分为两大块,Collection接口和Map接口。
List接口的特点:是一个有序的单列集,List是一个有索引的集合,可以存储重复元素,可以添加多个null值,遍历List集合的方法有迭代器、增强for、普通for、List的特有迭代器。
List的实现类,ArrayList的特点,底层是由一个数组构成,可以存储重复的元素,可以添加多个null值,增删速率慢,查询速率快,线程不安全。
List的实现类,LinkedList的特点,底层是由一个链表,可以存储重复的元素,可以添加多个null值,查询效率慢,增删效率快,线程安全。
List的实现类,Vector的特点,底层是由数组构成,可以存储重复的元素,可以添加多个null值查询效率快,增删效率慢。
Set就一种不包含重复元素的Collection,即任意的两个元素都不相等,Set最多有一个null元素,是一个没有索引的,遍历方法有迭代器、增强for,无序的。
Set的实现类,HashSet的特点,底层是由数组和链表(红黑树),无序的、不可以存储重复的元素,没有索引,最多包含一个null值。
Set的实现类,LinkedHashSet的特点,底层是由哈希表和单项链表,确保了它的有序,不可以存储重复的元素,最多包含一个null值。
Set的实现类,TreeSet的特点,不可以包含null值,底层TreeMap(基本红黑树)。