A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 妖目 中级黑马   /  2015-5-15 22:21  /  431 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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()
         

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马