zoukankan      html  css  js  c++  java
  • java容器-List

    1.介绍

    List<E>接口继承自Collection<E>,即在Collection<E>接口的基础上添加了一些用于随机访问的操作集合,并且提供了ListIterator<E>迭代器,使得调用者可以方便的双向访问List,对应的方法为listIterator()。

    2.主要子类型

    ArrayList<E>, LinkedList<E>, Vector<E>

    3.主要添加方法

    1) get(int index) : E

    返回指定位置的元素

    2) set(int index, E element) : E

    设置指定位置的元素,并返回该位置原来的元素

    3) add(int index, E element) :void 

    将元素添加至指定位置(index),并将该位置原来的元素及其之后的元素顺序向后移动

    4) listIterator() : ListIterator<E>

    返回该容器上的双向迭代器

    5) listIterator(int index) : ListIterator<E>

    返回该容器中指向index位置的双向迭代器ListIterator<E>

    6) IndexOf(Object o) : int

    返回元素o在容器中第一次出现的位置索引

    7) lastIndexOf(Object o) : int

    返回元素o在容器中最后一次出现的位置索引

    8) subList(int fromIndex, int toIndex) : List

       返回当前List的子List,从fromIndex到toindex,包含fromIndex位置的元素,不包括toIndex位置的元素,并且返回的子List和原List共享存储,因此在原List和子List里做的任何修改都能如实的反馈给对方。(该方法返回的实际类型为List具体实现类中的内部类类型SubList<E>,内部类可以很方便的共享外部类的数据)

     4.default方法-自jdk1.8

    1) default replaceAll(UnaryOperator<E> operator) : void

    该方法利用该容器上的Iterator,为容器中每个元素element执行operator.apply(element),由于apply方法返回的也是element的类型,因此紧接着调用iterator.set(Eelement)方法,即可实现全部替换 

    2) default sort(Comparator<? super E> comparator) : void

    该方法利用Comparator<? super E> 的int compare(E element1, E element2)方法来比较元素,再进行排序。内部实现为Collections.sort(this, comparator)

    3)default splitorator() : Splitorator<E>

    返回该容器上的Spliterator<E>,以被stream方法和parallel方法调用

    5.总结

    List<E>容器在Collection的基础上,提供了一系列的随机访问接口如get(int index),set(int index, E element),remove(int index)等,并提供了双向迭代器ListIterator和获取子List的subList(int fromIndex, int toIndex),也提供了获取指定元素的位置的indexOf(Object o)和lastIndexOf(Object o)方法,这些方法集合极大的方便了调用者对容器修改和获取,也提供了更多的使用容器的自由,使得调用者可以用多种方式来完成指定的操作。


  • 相关阅读:
    2、容器初探
    3、二叉树:先序,中序,后序循环遍历详解
    Hebbian Learning Rule
    论文笔记 Weakly-Supervised Spatial Context Networks
    在Caffe添加Python layer详细步骤
    论文笔记 Learning to Compare Image Patches via Convolutional Neural Networks
    Deconvolution 反卷积理解
    论文笔记 Feature Pyramid Networks for Object Detection
    Caffe2 初识
    论文笔记 Densely Connected Convolutional Networks
  • 原文地址:https://www.cnblogs.com/zhedan/p/7627209.html
Copyright © 2011-2022 走看看