黑马程序员技术交流社区
标题: 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 |