首页 > 代码库 > java----数据结构与算法----JavaAPI:java.util.List接口

java----数据结构与算法----JavaAPI:java.util.List接口

    •   
    • java.util.List接口
    • /**
       * @author lxrm
       * @date 20170307
       * @description 本程序讲述java.util.List接口的用法
       * java.util.List
       *         概述:
       *             1)List接口是Collection接口的子接口,所以List接口拥有Collection接口所定义的所有成员函数
       *                   除了有其父接口Collection中所定义的所有函数之外,List接口也添加了自己的函数,使得List集合拥有自己的特色
       *               List接口中新添加的函数有:a)用于根据索引访问集合元素的成员函数
       *                                  b)返回 ListIterator对象的成员函数(Collection接口中定义了一个返回Iterator对象的函数,
       *                                    List接口中除了可以获得Iterator对象外,还可以获得ListIterator对象,可以以更多方式遍历List集合元素)
       *             2)List集合允许重复的元素
       *             3)List集合中元素有一定的顺序,集合中元素顺序就是各个元素被插入的顺序
       *             4)List集合允许使用索引来访问集合中的元素
       *         构造函数:
       *             java语言中接口没有构造函数
       *         成员函数:
       *                   【1】概述,由于List是一个接口,所以下述所有函数都是没有函数体的,也即没有实际的代码块
       *                     且由于List接口继承了java.util.Collection接口,所以List接口含有Collection接口定义的所有函数
       *                     下面所列出的都是List接口中的函数,除非特别说明,否则相应的函数都是从Collection接口中继承而来的
       *                     加了“List接口新添加函数”标注的,都是List接口根据List集合特性新添加的成员函数,用以凸显List集合的特色功能
       *                 【2】int size();//返回集合中元素个数,如果元素个数>Integer.MAX_VALUE,那么该函数的返回值==Integer.MAX_VALUE
       *                 【3】boolean isEmpty();//集合是否为空
       *                 【4】boolean contains(Object o);//集合中是否包含元素o:Object
       *                 【5】Iterator<E> iterator();//返回可以遍历该集合中所有元素的一个迭代器(即Iterator对象)
       * “List接口新添加函数”【5.1】ListIterator<E> listIterator();//返回一个ListIterator对象,这个迭代器比Iterator更适于遍历List集合
       * “List接口新添加函数”【5.2】ListIterator<E> listIterator(int index);//和【5.1】中函数功能类似,
       *                                     //只不过这个函数返回的ListIterator的next指针已经指在了List集合中index:int位置
       *                                     //之后 An initial call to {@link ListIterator#next next}.将会返回List集合中index位置的元素
       *                                    // An initial call to {@link ListIterator#previous previous} 将会返回List集合中index-1位置上的元素
       *                 【6】Object[] toArray();//将集合转变成一个数组
       *                 【7】<T> T[] toArray(T[] a);//这个函数和【6】中所给的函数功能类似,但是这个函数还有额外的功能
       *                     功能:    这个函数除了将集合转换成数组之外
       *                             还实现集合元素数据类型 到 数组元素数据类型的转换(将集合元素由原来的数据类型转变成本函数的参数a:T[]所代表的数据类型——T)
       *                             另外,还指定了函数返回值的长度(返回值的长度和本函数的参数数组a:T[]的长度一致)
       *                     @return 返回值(数组)的内容——集合元素
       *                             返回值中数组元素的数据类型——和本函数的参数数据类型一致
       *                             返回值(数组)的长度——和本函数的参数数组的长度一致,当集合元素个数小于参数数组a:T[]长度时,使用null填充空位从而使返回值长度达到要求
       *                 【8】boolean add(E e);//向集合中添加新元素,将新元素添加到List的末尾
       *                 【9】boolean remove(Object o);//从集合中删除一个元素(删除List集合中第一个o:Object,也即对应集合下标最小的参数元素o:Object)
       *                 【10】boolean containsAll(Collection<?> c);//判断该集合中是否包含参数集合中的所有元素
       *                 【11】boolean addAll(Collection<? extends E> c);//将参数集合中的所有元素追加到该集合的末尾(相当于取并集)
       *“List接口新添加函数”【11.2】boolean addAll(int index, Collection<? extends E> c);//这个函数和【11】中函数功能类似,只不过
       *                                                    //【11】中函数是将参数集合追加到该集合的末尾,而本函数是将参数集合追加到该集合的index:int开始的位置
       *                 【12】 boolean removeAll(Collection<?> c);//这个函数执行后,该集合中将不再含有参数集合中的任何一个元素(相当于集合相减)
       *                 【13】 boolean retainAll(Collection<?> c);//执行这个函数之后,该集合中将不可能含有参数集合中不存在的元素(相当于取交集)
       *“List接口新添加函数”【13.1】List<E> subList(int fromIndex, int toIndex);//返回该List集合的一个子集(左包含又不包含)
       *                 【14】void clear();//执行该函数后,集合将变成空的
       *                 【15】 boolean equals(Object o);//参数o:Object也是一个集合,这个函数用于判断两个集合的内容是否相同
       *                                                 //(当且仅当两个元素类型相同,size相同,且元素依序都相同时返回值才是true)
       *                 【16】int hashCode();//返回该集合所对应的hashCode码
       *                     备注:如果两个集合的内容完全相同,那么这两个集合对应的hashCode码也一定相同
       *                         即,若a.equals(b)==true,那么一定有a.hashCode()==b.hashCode()
       *                     集合的hashCode码是按照如下公式计算出来的
       *                     * <pre>
                           *  int hashCode = 1;
                           *  for (E e : list)
                           *      hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
                           * </pre>
       *“List接口新添加函数”【17】E get(int index);//返回List集合特定位置处的元素
       *“List接口新添加函数”【18】 E set(int index, E element);//替换List集合中特定位置处的元素
       *“List接口新添加函数”【19】void add(int index, E element);//在List集合的特定索引处添加一个新的元素element:E,并且将集合中相应元素往后移
       *“List接口新添加函数”【20】E remove(int index);//删除List集合中特定位置处的元素,并将删除的元素作为返回值返回;另外,还会将集合中index:int后面的元素左移
       *“List接口新添加函数”【21】int indexOf(Object o);//返回List集合中o:Object第一次出现的位置下标,如果List集合中没有该元素则返回-1
       *“List接口新添加函数”【22】int lastIndexOf(Object o);//返回o:Object在List集合中最后一次出现的位置,如果List集合中没有该元素则返回-1
       *“List接口新添加函数”【23】
       *“List接口新添加函数”【24】
       *“List接口新添加函数”【25】                            
       *                 */
      package javaAPI_dataStructure;
      
      import java.util.ArrayList;
      import java.util.Collection;
      import java.util.List;
      import java.util.ListIterator;
      
      public class JavaAPI_List {
          public static void main(String[] args){
              List list=new ArrayList();
          }
      
      }

       

java----数据结构与算法----JavaAPI:java.util.List接口