千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java

Collection集合概述图:

- Collection集合特点
- List系列集合:添加的元素是
有序、可重复、有索引。
- ArrayList、LinekdList :
有序、可重复、有索引。
- Set系列集合:添加的元素是
无序、不重复、无索引。
- HashSet:
无序、不重复、无索引。
- LinkedHashSet:
有序、不重复、无索引。
- TreeSet:按照大小
默认升序排序、不重复、无索引。
- 泛型:集合都是泛型的形式,可以在编译阶段约束集合只能操作某种数据类型
Collection<String> lists = new ArrayList<String>(); Collection<String> lists = new ArrayList<>(); // JDK 1.7开始后面的泛型类型申明
注意:集合和泛型都只能支持引用数据类型,不支持基本数据类型,所以集合中存储的元素都认为是对象。
Collection集合的遍历方式
方式一:迭代器
- 迭代器遍历概述
- 遍历就是一个一个的把容器中的元素访问一遍。
- 迭代器在Java中的代表是Iterator,迭代器是集合的专用的遍历方式。
- Collection集合获取迭代器
- 方法名称说明Iterator<E> iterator()返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引
- Iterator中的常用方法
- 方法名称说明boolean hasNext()询问当前位置是否有元素存在,存在返回true ,不存在返回falseE next()获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界。
迭代器执行原理:

方式二:foreach/增强for循环
- 增强for循环
for(元素数据类型 变量名 : 数组或者Collection集合名称) { //在此处使用变量即可,该变量就是元素 }
增强for循环:既可以遍历集合也可以遍历数组。
增强for循环修改变量:修改第三方变量的值不会影响到集合中的元素
方式三:lambda表达式
- 得益于JDK 8开始的新技术Lambda表达式,提供了一种更简单、更直接的遍历集合的方式。
Collection结合Lambda遍历的API

List
- List系列集合特点
- ArrayList、LinekdList :
有序,可重复,有索引。
- 有序:存储和取出的元素顺序一致
- 有索引:可以通过索引操作元素
- 可重复:存储的元素可以重复
ArrayList集合特有方法

注意:List集合因为支持索引,所以多了很多索引操作的独特API,其他Collection的功能List也都继承了。
LinkedList集合
- 底层数据结构是双向链表,查询慢,首尾操作的速度是极快的,所以多了很多首尾操作的特有API。
- LinkedList集合的特有方法

LinkedList底层实现原理
