黑马程序员技术交流社区

标题: List的三个儿子 [打印本页]

作者: 妖目    时间: 2015-5-15 22:21
标题: List的三个儿子
List的三个儿子特点
            List
                 |--ArrayList
                      底层数据结构是数组,查询快,增删慢
                      线程不安全,效率高
                 |--Vector
                      底层数据结构是数组,查询快,增删慢
                      线程安全,效率低
                 |--LinkedList
                      底层数据结构是链表,查询慢,增删快
                      线程不安全,效率高

       (2)到底使用谁?
            是否要安全:
                  是:Vector
                  否:ArrayList,LinkedList
                      查询多: ArrayList
                      增删多: LinkedList

            如果你什么都不知道,用 ArrayList

(3)ArrayList(存储字符串和自定义对象 )
存储自定义对象,去除重复元素(实际属性值一样的)
                      依赖于对象的 equals() 方法
            重写equqls三个步骤
                 1. 判断是否为同一个对象
                 2. 判断是否为该类的对象
                 3. 向下转型,然后根据需求比较成员变量
      (4)Vector( 存储字符串和自定义对象 )
            有自己的特殊功能。
            但是不用,被新功能给替代了。
添加 -- addElement()   -------  add()
           
            获取 -- elementAt(int index) ------------ get()
           
            枚举 Eunmeration  -- Iterator
                 hasMoreElements() -- hasNext()
                 nextElement()  -- next()

       (5)LinkedList(存储字符串和自定义对象 )
            有自己的特殊功能。可以很方便的操作头和尾。
添加:
           addFirst()
           addLast()
           
       获取:
           getFirst()
           getLast()
           
       删除
           removeFirst()
           removeLast()
         





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