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