集合是一种容器,用来装数据的,类似于数组,但集合的大小可变。
Collection集合体系
List系列集合:添加的元素是有序、可重复、有索引。
ArrayList、LinekdList :有序、可重复、有索引。
Set系列集合:添加的元素是无序、不重复、无索引。
HashSet: 无序、不重复、无索引;
LinkedHashSet: 有序、不重复、无索引。
TreeSet:按照大小默认升序排序、不重复、无索引。
Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的。
1.迭代器遍历集合
取元素越界会出现NoSuchElementException异常。
2.增强for遍历集合
3.forEach遍历集合
迭代器、增强for、Lambda遍历集合的区别说明
List集合特有方法
ArrayList集合底层是基于数组结构实现的,也就是说当你往集合容器中存储元素时,底层本质上是往数组中存储元素。
LinkedList底层是链表结构(双链表),链表结构是由一个一个的节点组成,一个节点由数据值、下一个元素的地址组成。
特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是极快的。
LinkedHashSet是基于哈希表(数组、链表、红黑树)实现的。但是,它的每个元素都额外的多了一个双链表的机制记录它前后元素的位置。
TreeSet底层是基于红黑树实现的排序。