Java类集

一、Java类集    :就是一个动态的对象数组

 

类集接口的继承关系:

            

 

Collection |----List |----ArrayList

                 |            |----LinkList

                 |            |----Vector

                 |

                 |

                 | ----Set |----TreeSet

                               |----HashSet

 

Map----TreeMap

       ----HashMap

 

1、ArrayList                                   Vector

            JDK1.2推出                         JDK1.0推出

            非安全性                              安全性

             效率高                                 效率低

            迭代器遍历                           多了一个枚举器遍历      

                                                        比ArrayList多了一些获取第一个、最后一个元素的方法

 

 

 

2、ArrayList                                                 LinkList

     每增加或者删除一个元素时                         双向链表结构

     后面的元素都会移动,效率低

     增删慢                                                       增删快

     查找快                                                       查找慢

 

                                                                       队列结构:先进先出

                                                                       堆栈结构:后进先出

 

3、ArrayList面试两大陷阱:      

  • 用for循环一边遍历一边移除,会导致删除不干净 ,或者直接索引越界异常IndexOutOfBoundsException    

         这是因为删除一个元素,后面的元素位置都会改变,角标就会变化

 

  • 数组转换成集合   

            数组转换成集合后的哪个集合其实是一个高仿ArrayList,不支持增删操作,还需要通过ArrayList构造类转换成真正的ArrayList

Java类集