| 
 
| 一、集合的由来和特点 知识点梳理:
 集合和数组的区别
 集合:1、长度可变
 2、只能存储引用数据类型
 3、同一个集合中可以存储多种数据类型.
 数组:
 1、长度不可变
 2、可以存储基本类型也可以存储引用数据类型
 3、同一个数组中只能存储一种数据类型
 
 ------------------------------------------------------------------------------------------------------------------
 二、集合的体系结构图
 
 1、集合体系的学习方法
 学顶层,用底层.
 
 单例集合体系图  (顶层)Collection--List      --ArrayList
 --Vector
 --LinkedList
 
 --Set       --HashSet
 --TreeSet
 ------------------------------------------------------------------------------------------------------------------
 三、Collection接口中的功能概述
 A:添加元素
 boolean add( Object obj )
 向集合中添加元素
 
 boolean addAll( Collection c )  (了解即可非重点)
 向集合中添加一个集合的元素
 
 B:删除元素。
 void clear()
 清空集合
 
 boolean remove( Object obj)
 删除集合中的指定元素
 
 boolean removeAll( Collection c )(了解即可非重点)
 从集合中删除一个指定的集合元素
 
 C:判断功能。
 boolean isEmprty()
 判断集合是否为空
 
 boolean contains( Object o )
 判断集合中是否包含指定元素
 
 boolean containsAll( Collection c ) (了解即可非重点)
 判断集合中是否存在指定的一个集合中的元素
 
 D:遍历功能。
 Iterator iterator()
 就是获取集合中的每个元素(别名迭代器)
 
 E:长度功能。
 int size()
 获取集合的长度
 
 F:交集功能
 boolean retainAll( Collection c ) (了解即可非重点)
 
 
 
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 四、Iterator迭代器的使用
 
 1、异常NoSuchElementException:
 当获取到了最后一个元素,它又继续获取这样就会报这个错误.
 
 2、 boolean hasNext()
 判断迭代器中是否还有元素
 (一般用在if或者while的判断条件位置)
 
 ------------------------------------------------------------------------------------------------------------------
 五、Iterator迭代器的原理
 集合的使用步骤
 
 A:创建集合对象
 B:创建元素对象
 C:向集合中添加数据add()
 D:遍历集合
 
 1 通过集合对象获取迭代器对象iterator()
 2 通过hasNext()方法进行判断指针后是否有下一个元素
 3 通过next()方法获取到指针后的下一个元素
 
 
 
 ------------------------------------------------------------------------------------------------------------------
 六、List接口的特点
 ---List 特点:
 元素有序(说的是存储和取出有序),可重复
 collection
 ---Set  特点:
 元素无序,不可重复
 
 需要明确:List  和  Set  他们具备的特点,他们的子类都是一定符合这个特点的.
 ------------------------------------------------------------------------------------------------------------------
 七、List接口的功能概述
 List 接口特有功能
 A:添加功能
 void add( int index, Object obj )
 向集合中的指定位置添加元素
 在指定元素后面添加~
 B:删除功能
 Object remove( int index )
 删除集合中指定索引处的元素,返回被删除的元素值
 
 C:修改功能
 Object set( int index, Object obj )
 用指定的元素替换指定索引位置的值,返回被替换的元素值
 
 D:获取功能
 Object get( int index )
 获取集合中指定索引处的值
 
 int indexOf( Object o )
 获取指定元素在集合中第一次出现的索引
 
 ListIterator<E> listIterator()
 列表迭代器
 
 E:截取功能
 List subList( int fromIndex, int toIndex )
 截取集合从指定位置开始到指定位置结束,返回截取出来的集合.
 
 ------------------------------------------------------------------------------------------------------------------
 
 
 八、并发修改异常的产生及解决方案
 
 1、并发修改异常怎么产生的ConcurrentModificationException
 就是在用迭代器对集合进行遍历的同时对集合进行了改变.
 ------------------------------------------------------------------------------------------------------------------
 
 | 
 |