一、集合体系结构 
        Collection(单列集合根接口) 
                A:List(有序,有索引,可重复) 
                        a:ArrayList(底层数组,查找快,增删慢) 
                        b:LinkedList(底层数组,查找慢,增删快) 
                        c:Vector(底层数组,被ArrayList取代,线程安全,都慢) 
                B:Set(无序,无索引,不能重复) 
                        a:HashSet 
                        b:LinkedSet 
二、常用功能 
        a:boolean add(Object e): 向集合中添加元素 
        b:void clear():清空集合中所有元素 
        c:boolean contains(Object o):判断集合中是否包含某个元素 
        d:boolean isEmpty():判断集合中的元素是否为空 
        e:boolean remove(Object o):根据元素的内容来删除某个元素 
        f:int size():获取集合的长度 
        g:Object[] toArray():能够将集合转换成数组并把集合中的元素存储到数组中 
三、遍历方法 
        a:转数组 
        b:普通for,按索引取元素(只针对List及其子类) 
        c:迭代器 iterator(),可以返回一个迭代器对象,我们可以通过迭代器对象来迭代集合 
                里面只有三个方法hasnext()判断下个是否有元素,next()取元素,remove()删除当前元素 
                List增强的又listIterator()  有void add(E e) 增加方法 
                        注意:迭代的时候不能用集合本身的方法增删集合元素,如果要增删用迭代器提供的 
        d:增强for   
                格式for(元素类型  变量名 : 集合或者数组),底层迭代器,不能增删集合 
四、泛型:<E> 
        作用 
                a:避免了类型转换的问题 
                 b:可以减少黄色警告线 
                c:可以简化我们代码的书写 
五、常见数据结构 
        a:数组                长度固定,采用该结构的集合 
                                查找元素快:通过索引,可以快速访问指定位置的元素 
                                增删元素慢 ,每次添加元素需要移动大量元素或这创建新的数组 
        b:链表                A:多个节点之间,通过地址进行连接。例如,多个人手拉手,每个人使用自己的右手拉住下个人的左手,依次类推,这样多个人就连在一起了。 
                                B:查找元素慢:想查找某个元素,需要通过连接的节点,依次向后查找指定元素 
                                C:增删元素快: 
                                        增加元素:只需要修改连接下个元素的地址即可。 
                                        删除元素:只需要修改连接下个元素的地址即可 
        c:栈                先进后出 
        d:队列                先进先出 
 
 |   
        
 
    
    
    
     
 
 |