您的位置:首页 > 职场人生

黑马程序员 知识点总结-Java集合框架(List)

2013-12-31 11:27 453 查看
[align=center]----------------------Android培训Java培训、期待与您交流! ----------------------[/align]

【List集合中的具体常用对象】

                    Collection

                           |--List:元素是有序的,元素可以重复;因为该集合体系有索引

                                  |--ArrayList:底层数据结构使用的是数组结构;查询速度很快,但增

                                                       加和删除稍慢;线程不同步;ArrayList初始化时,默

                                                       认长度为10,当向其中添加的元素超过10时,ArrayList

                                                       会重新创建一个对象长度增加50%,然后把原来列表

                                                       中的元素和刚添加的元素一同添加到新的ArrayList中

                                  |--LinkedList:底层数据结构使用的是链表结构;增加和删除速度很

                                                       快,但查询速度慢

                                  |--Vector:底层使用的是数组结构;线程同步;Vector初始化时,默

                                                       认长度为10,当向其中添加的元素超过10时,Vector

                                                       会重新创建一个对象长度增加100%,然后把原来存在

                                                       的元素和刚添加的元素一同添加到新的Vector中

                                         +Vector中的枚举

                                                Vector中有elements()方法,返回的是枚举Enumeration

                                                枚举是Vector特有的取出方式,其实枚举和迭代器是一样

                                                的,但由于枚举的名称和其中的方法名称过长,所以被迭代

                                                器取代了。

                    LinkedList中的特有方法

                           添加:

                                  addFirst(Ee):将指定元素插入到此列表的开头

                                  addLast(Ee):将指定元素添加到次列表的末尾

                                  从JDK1.6版本开始:

                                  offerFirst(Ee):将指定元素插入到此列表的开头

                                  offerLast(Ee):将指定元素插入到此列表的末尾

                           获取:

                                  getFirst():返回此列表中第一个元素,不删除元素;若列表中没有

                                                 元素,则会抛出NoSuchElementException异常

                                  getLast():返回此列表中最后一个元素,不删除元素;若列表

                                                 中没有元素,则会抛出NoSuchElementException异常

                                  removeFirst():返回此列表中的一个元素,但该元素会被删除;若列

                                                 表中没有元素,则会抛出NoSuchElementException异常

                                  removeLast():返回此列表中最后一个元素,但不删除元素;若列表

                                                 中没有元素,则会抛出NoSuchElementException异常

                                  从JDK1.6开始

                                  peekFirst():返回此列表中第一个元素,不删除元素;若列表中没

                                                 有元素,则返回null

                                  peekLast():返回此列表中最后一个元素,不删除元素;若列表中没

                                                 有元素,则返回null

                                  pollFirst():返回此列表中第一个元素,但该元素会被删除;若列

                                                 表中中没有元素,则返回null

                                  poolLast():返回此列表中最后一个元素,不删除元素;若列表中没

                                                 有元素,则返回null

【List中的共性方法】

                    集合框架中所有操作角标的方法,都是该体系特有的方法

                    由于List继承自Collection,所以Collection中的共性方法,List中

                    都有,以下是List中的特有共性方法

                    增加:

add(int index,E element):在列表中的指定位置插入指定元素

addAll(int index,Collection<?extends E> c):在列表中的指定位置开始插入Collection中的所有元素

删除:

remove(int index):移除列表中指定位置上的元素

修改:

set(int index,Eelement):用指定元素替换列表中指定位置上的元素

查找:

get(int index):返回列表中指定位置上的元素

subList(int fromIndex,int toIndex):返回列表中从fromIndex(包含)和toIndex(不包含)之间的部分视图

listIterator():返回列表中列表迭代器

注意:List中判断元素是否相同依据的是元素中的equals()方法

Listiterator:

       List中特有的迭代器是Iteraotr的子接口

       由于在迭代时不可以通过集合对象的方法操作集合中的元素,否则会发生

       ConcurrentModificationException异常

       所以在迭代时,只能用迭代器的方法操作元素,但Iterator中的方法是有

       限的,只能对元素进行判断,读取和删除。如果想要对元素进行其他操作

       则需要其子接口ListIterator该接口,该接口只能通过List集合中的

       listIterator()方法获取。

       ListIterator中的方法:

              |- add(E e):将指定元素添加到列表

              |- hasPrevious():逆向遍历列表,判断前一位是否有元素

              |- previous():返回前列表中一个元素

              |- nextIndex():返回下一个元素的索引

              |- previousIndex():返回前一个元素的索引

              |- set(E e):用指定元素替换next或previous返回的最后一个元素

例:

ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
ListIterator li = al.listIterator();
while (li.hasNext()) {
if (li.next().equals("java02"))
li.add("java007");
}
System.out.println("al=" + al);

             打印结果为:al=[java01,java02,java007,java03]

----------------------Android培训Java培训、期待与您交流! ----------------------

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息