List 接口 源码

1.8版本中的注释

    List是一个有序的集合(如我们所知道的队列)。通过这个接口用户可以精确的控制集合中的每一个元素在哪里插入。用户可以通过int索引访问集合中的任意元素,或者在集合中搜索他们。

    与set不同,lists通常允许重复的元素。更正式地说,list允许一对元素e1和e2,e1==e2,并且他允许null的元素,如果他们允许的话。有些人希望实现一个集合是不允许重复元素出现,这是有可能的,但是我们并不希望这样的用法是比较少的。

    list在实现了collection接口的情况下,添加了额外的iterator,add,remove,equals,hashCode方法约束。


list继承了Collection接口
collection基础了Iterable接口
我们通常使该方法获取对象迭代器,用于遍历整个集合。
toArray()

返回一个Object数组,包含list中的所有元素


T[]toArray(T[] a)

返回一个数组类型与传入参数相同的数组,并且会将list中的元素转换为与数组类型对应的对象.

add()

添加对应的元素到list中

remove(Object)

根据传入的参数删除list中的元素,如果有多个存在的元素,会删除index最小的那个.

containsAll(Collection)

判断是list中是否包含传入collection中的所有元素

addAll(Collection)

将传入参数中的所有元素添加到List中

addAll(int,Collection)

指定位置插入collection中的所有元素

removeAll(Collection)

从list中移除所有包含在Collection中的元素

retainAll(Collection)

移除List中所有不存在Collection中的元素

replaceAll(UnaryOperator)

接收一个UnaryOperator对象,替换list中的所有符合条件的元素

将List中所有值为20的替换为5

UnaryOperator

继承了Function,提供了一个静态的方法返回泛型,与function不同,接收一个泛型参数,返回相同的类型.

返回传入参数*2


sort(Comparator)

接收comparator,并调用Arrays.sort(a,Comparator)进行排序,再通过iterator将排序后的值重新写会List中.

清除List中的所有值
equals(Object)

比较两个List是否相等,只有当两个对象都时List,并且含有相同的元素个数,并且顺序和值都相等的情况下才会返回true;

hashCode()
返回对应index的元素,index从0开始
替换指定位置的元素
add(int,E)

向指定的位置插入元素,后面的元素往右移动

remove(int)

删除指定位置的元素,将其后面的元素往左移动

indexOf(Object)

返回传入参数的index含有相同元素的话,返回index最小的那个,如果没有的话返回-1

lastIndexOf(Object)

与indexOf()不同,该函数是返回最后一个index

listiterator()
listIterator(int)

这两个函数的不同在listIterator(int) 会从指定的位置开启取出Iterator.而listIterator()则是从0开始的.

subList(int,int)

获取指定位置的List

Spliterator

获取List的spliterator

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容