黑马程序员技术交流社区

标题: 集合Collection&List接口 [打印本页]

作者: 愤怒的哈博兔    时间: 2015-8-4 21:29
标题: 集合Collection&List接口
一、集合的由来和特点
知识点梳理:
        集合和数组的区别
        集合: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
就是在用迭代器对集合进行遍历的同时对集合进行了改变.
------------------------------------------------------------------------------------------------------------------





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2