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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莘莘学子 初级黑马   /  2015-7-27 00:38  /  433 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 莘莘学子 于 2015-7-27 01:20 编辑

自己参照大神笔记重新做的笔记梳理 , 分享给大家 !
集合小结      ------   List 集合

List集合    ------   接口
List本身是Collection接口的子接口,具备了Collection的所有方法.
List的特有方法都有索引,这是该集合最大的特点.
List:有序,元素都有索引,并可以重复。
   ArrayList:底层数据结构是数组,线程不同步,查询元素速度快,增删慢.
   LinkedList:底层数据结构是链表,线程不同步,增删元素的速度快,查询慢.
   Vector:底层数据结构是数组,线程同步,查询慢,增删慢.所以ArrayList已经替代了Vector .
   1. 添加功能
         add(index,element)      在指定的索引位插入元素.
                 addAll(index,collection)     在指定的索引位插入一堆元素.
   2. 删除功能
                 remove(index)      删除指定索引位的元素. 返回被删的元素.        
   3. 获取功能
                 Object get(index)      通过索引获取指定元素
                 int indexOf(obj)        获取指定元素第一次出现的索引位,如果该元素不存在 返回-1 ;  所以, 通过-1, 可以判断一个元素是否存在.
         int lastIndexOf(Object o)       反向索引指定元素的位置.
                 List subList(start,end)       获取子列表.
   4. 修改功能
         Object set(index,element)       对指定索引位进行元素的修改.
   5. 获取所有元素
         ListIterator listIterator()       list集合特有的迭代器.

List集合支持对元素的  增、删、改、查
ListIterator    ------ List集合特有的迭代器
方法摘要
void
add(E e) 将指定的元素插入列表(可选操作)。
boolean
hasNext() 以正向遍历列表时,如果列表迭代器有多个元素,则返回 true(换句话说,如果 next 返回一个元素而不是抛出异常,则返回 true)。
boolean
hasPrevious() 如果以逆向遍历列表,列表迭代器有多个元素,则返回 true
E
next() 返回列表中的下一个元素。
int
nextIndex() 返回对 next 的后续调用所返回元素的索引。
E
previous() 返回列表中的前一个元素。
int
previousIndex() 返回对 previous 的后续调用所返回元素的索引。
void
remove() 从列表中移除由 nextprevious 返回的最后一个元素(可选操作)。
void
set(E e) 用指定元素替换 nextprevious 返回的最后一个元素(可选操作)。
可变长度数组的原理:
       当元素超出数组长度,会产生一个新数组,将原数组的数据复制到新数组中,再将新的元素添加到新数组中。
       ArrayList:是按照原数组的50%延长。构造一个初始容量为 10 的空列表。
       Vector:是按照原数组的100%延长。
注意:
对于list集合,底层判断元素是否相同,其实用的是元素自身的equals方法完成的. 所以建议元素都要复写equals方法,建立元素对象自己的比较相同的条件依据.
LinkedList :
特有方法:
   addFirst();
   addLast();
  在jdk1.6以后 .
   offerFirst();
   offerLast();
   getFirst()     获取链表中的第一个元素. 如果链表为空, 抛出NoSuchElementException;
   getLast();
jdk1.6以后 .
   peekFirst();      获取链表中的第一个元素. 如果链表为空, 返回null .
   peekLast();
   removeFirst()      获取链表中的第一个元素, 但是会删除链表中的第一个元素. 如果链表为空, 抛出NoSuchElementException
   removeLast();
jdk1.6以后 .
   pollFirst();        获取链表中的第一个元素, 但是会删除链表中的第一个元素. 如果链表为空, 返回null .
   pollLast();

3 个回复

正序浏览
默默的飘过,,
回复 使用道具 举报
DreamStart 发表于 2015-7-27 00:45
这是什么?好有深度

淡定小友,你再看一遍
回复 使用道具 举报
这是什么?好有深度
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马