Java List接口

Interface List 在Java.util包中,继承自Collection,Iterable

实现List接口的类有以下几种

AbstractListAbstractSequentialListArrayList,AttributeList,CopyOnWriteArrayList,LinkedList,RoleList,RoleUnresolvedList,Stack,Vector

其中常用的有ArrayList,LinkedList,Vector

List 是有序的,元素可以重复

ArrayList以数组的形式存储数据,查找快,增删慢

LinkList以链表的形式存储数据,查找慢,增删快

Vector和ArrayList类似,区别是线程安全,查找删减效率低。

常用方法:

boolean     add(E e)  在List的尾部加入元素

void    add(int index,Eelement)   指定位置加入元素

boolean  addAll(CollectionE> c)/addAll(int index,CollectionE> c)    加入集合中的所有元素

E      get(int index)    返回index处的值

E      remove(int index)   删除index处的值

E      set(int index,Eelement)   替换index处的值

int     size()   返回List中的元素个数

其中LinkList中有几个特别的方法

void   addFirst(E  e)   在list首部插入

void    addLast(E  e)  在list尾部插入

E         peek()  检索list的第一个元素,但不删除

E          poll()    检索list的第一个元素,并删除

E          pop()   从此列表中的堆栈中弹出一个元素。

void      push(E  e)  将元素推送到由此列表表示的堆栈上。

用法

List接口的实现类常用的就是ArrayList和LinkedList,使用这两个类当然要先实例化:

List<E>  list = new ArrayList<E>();

List<E>  list = new LinkedList<E>();

这里的List当然可以替换成ArrayList和LinkedList,我觉得应该是 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。

然后通过list实例来调用以上方法即可。

遍历List的三个方法

foreach    for(String s : list){  }

for循环    for(int i=0;i<list.length;i++){  }

Iterator迭代器  首先获取Iterator实例  Iterator it = list.iterator()  然后在while(it.hasNext()){   }体内执行it.next()

总结

对List接口作了简要的介绍,一起学习,一起成长。

    原文作者:大煤球CUMT
    原文地址: https://www.jianshu.com/p/290a4b84b79c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞