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

来源:互联网 发布:js获取本机ip地址 编辑:程序博客网 时间:2024/04/27 22:48
----------------------Android培训、Java培训、期待与您交流! ----------------------


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):用指定元素替换nextprevious返回的最后一个元素

例:


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培训、期待与您交流! ----------------------


0 0