容器(集合框架) - 承载其他对象的对象
Collection
- List
- ArrayList
- LinkedList
- Set
基本类型 包装类型(Wrapper class)
- byte ---> Byte ---> new Byte(1)
- short ---> Short
- int ---> Integer
- long ---> Long
- float ---> Float
- double ---> Double
- char ---> Character
- boolean ---> Boolean
从Java5开始容器可以指定泛型参数来限定容器中对象引用的类型
带泛型参数的容器比不带泛型参数的容器在使用上更方便
从Java7开始构造器后面的泛型参数可以省略 - 钻石语法
List两个实现版本的比较
ArrayList - 底层实现是一个数组 使用连续内存 可以实现随机存取
LinkedList - 底层实现是一个双向循环链表 可以使用碎片内存 不能随机存
但是增删元素是需要修改引用即可 所以增删元素时有更好的性能
容器中只能放对象的引用不能放基本数据类型
所以向容器中添加基本数据类型时会自动装箱(anto-boxing)
所谓自动装箱就是将基本数据类型处理成对应的包装类型
从Java8开始可以给容器发送forEach消息对原色进行操作
forEach方法的参数可以使方法引用也可以使Lambda表达式