List
1.1 派系特点
|-- 有序集合,存储和取出顺序一致
|-- 有索引的集合
|-- 允许重复元素的集合
1.2 List接口带有索引的方法
|-- add()//再指定索引上添加对象;
|-- get()//格局索引 获取指定索引上的元素;有返回值
|-- set()//修改指定索引上的元素 并返回被修改之前的;
|-- remove()移除指定索引上的元素,返回值是被移除的元素;
|-- subList()//用索引到索引之间获取集合的一部分,然后返回新的集合,用List接收;
2. ArrayList
2.1 集合的自身特性
|-- 底层数组结构,可变长度数组,默认10个,增长量50%
|-- 查询快,增删慢
|-- 线程不安全集合,运行速度快
2.2 案例
去掉重复元素 自定义对象
ArrayList存储自定义对象并迭代
3. LinkedList
3.1 集合的自身特性
|-- 底层链表结构,采用对象记录地址存储方式
|-- 查询慢,增删快
|-- 线程不安全集合,运行速度快
3.2 案例 LinkedList 模拟栈数据结构
4. Vector
4.1 集合自身特点
|-- 底层数组结构,可变长度,默认容量10个,增长100%
|-- 查询快,增删慢
|-- 线程安全集合,运行速度慢
5. 泛型
5.1 泛型是如何保证安全性
|-- 强制集合存储指定的数据类型
|-- 由运行时期提前到了编译时期
5.2 好处
|-- 安全
|-- 减少代码量
|-- 避免类型强制转换
|-- 带来增强for
5.3 案例 ArrayList存储字符串,存储自定义Student,迭代,带上泛型
6. 增强for
6.1 格式
6.2 for遍历数组和集合
6.3 简化遍历,不要使用增强for操作数组或者是集合中的元素
集合的嵌套遍历
main(){
ArrayList<String> array1 = new ArrayList<String>();
ArrayList<String> array2 = new ArrayList<String>();
array1.add("e");array1.add("d");
array2.add("a");array2.add("f");
ArrayList<ArrayList> list = new ArrayList<ArrayList>();
list.add(array1);list.add(array2);
遍历集合 list 获取出list中两个集合的元素
嵌套循环
while(){ 遍历list
while(){
array1 array2
}
}
}
|
|