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 
           } 
        } 
  } 
 
 
 |   
        
 
    
    
    
     
 
 |