List

List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。

常用方法:

  1. void add(int index, E element)
  • 在指定位置插入元素,后面的元素都往后移一个元素。
  1. boolean addAll(int index, Collection<? extends E> c)
  • 在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。

意思就是当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。

  1. E get(int index)
  • 返回list集合中指定索引位置的元素
  1. int indexOf(Object o)
  • 返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1
  1. ListIterator <e> listIterator() </e>
  • 返回此列表元素的列表迭代器(按适当顺序)。
  1. ListIterator <e> listIterator(int index) </e>
  • 从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)。

和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。

  1. E remove(int index)
  • 删除指定索引的对象
  1. E set(int index, E element)
  • 在索引为index位置的元素更改为element元素
  1. List <e> subList(int fromIndex, int toIndex) </e>
  • 返回从索引fromIndex到toIndex的元素集合,包左不包右

void add(int index, E element)

在指定位置插入元素,后面的元素都往后移一个元素。

boolean addAll(int index, Collection<? extends E> c)

在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。

意思就是当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。

E get(int index)

返回list集合中指定索引位置的元素

int indexOf(Object o)

返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1

ListIterator< E > listIterator()

返回此列表元素的列表迭代器(按适当顺序)。

listIterator和iterator的区别是什么呢?下面这篇博客比较详细的分析,可以参考。

https://blog.csdn.net/longshengguoji/article/details/41551491

这里大概讲一下他们的区别:

当只需要遍历集合时,两个迭代器的功能都是一样。

但是listIterator迭代器只能用于List和他的实现子类,iterator迭代器可以用于所有的集合使用。

所不同的就是listIterator迭代器的功能会比iterator迭代器的功能要多。

listIterator迭代器可以在遍历集合时添加、修改和删除,而iterator迭代器在遍历集合时只有删除。

ListIterator< E > listIterator(int index)

从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)。

和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。

E remove(int index)

删除指定索引的对象

E set(int index, E element)

在索引为index位置的元素更改为element元素

List <e> subList(int fromIndex, int toIndex) </e>

返回从索引fromIndex到toIndex的元素集合,包左不包右

更多

Java集合List详解


学习笔记,待补充...