Java之List、ArrayList、LinkedList常用Methods

ArrayList和LinkedList的区别有以下几点:

  1. ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构;
  2. 对于 随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;
  3. 对于添加和删除操作add和remove,一般大家都会说LinkedList要比ArrayList快,因为ArrayList要移动数据。但是实际情况并非这样,对于添加或删除,LinkedList和ArrayList 并不能明确说明谁快谁慢
    (在此不详述,具体可看此 博客 )

ArrayList 常用方法

boolean add(E e)将指定的元素追加到此列表的末尾。
void add(int index, E element)在此列表中的指定位置插入指定的元素。
boolean addAll(Collection<? extends E> c)按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾。
void clear()从列表中删除所有元素。
Object clone()返回此 ArrayList实例的浅拷贝。
boolean contains(Object o)如果此列表包含指定的元素,则返回 true
void forEach(Consumer<? super E> action)Iterable的每个元素执行给定的操作,直到所有元素都被处理或动作引发异常。
E get(int index)返回此列表中指定位置的元素。
int indexOf(Object o)返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
boolean isEmpty()如果此列表不包含元素,则返回 true
Iterator<E> iterator()以正确的顺序返回该列表中的元素的迭代器。
int lastIndexOf(Object o)返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
E remove(int index)删除该列表中指定位置的元素。
boolean remove(Object o)从列表中删除指定元素的第一个出现(如果存在)。
boolean removeAll(Collection<?> c)从此列表中删除指定集合中包含的所有元素。
void replaceAll(UnaryOperator<E> operator)将该列表的每个元素替换为将该运算符应用于该元素的结果。
boolean retainAll(Collection<?> c)仅保留此列表中包含在指定集合中的元素。
E set(int index, E element)用指定的元素替换此列表中指定位置的元素。
int size()返回此列表中的元素数。
void sort(Comparator<? super E> c)使用提供的 Comparator对此列表进行排序以比较元素。
List<E> subList(int fromIndex, int toIndex)返回此列表中指定的 fromIndex (包括)和 toIndex之间的独占视图。
Object[] toArray()以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
<T> T[] toArray(T[] a)以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。

LinkedList常用方法

boolean add(E e)将指定的元素追加到此列表的末尾。
void add(int index, E element)在此列表中的指定位置插入指定的元素。
boolean addAll(Collection<? extends E> c)按照指定集合的迭代器返回的顺序将指定集合中的所有元素追加到此列表的末尾。
boolean addAll(int index, Collection<? extends E> c)将指定集合中的所有元素插入到此列表中,从指定的位置开始。
void addFirst(E e)在该列表开头插入指定的元素。
void addLast(E e)将指定的元素追加到此列表的末尾。
void clear()从列表中删除所有元素。
Object clone()返回此 LinkedList的浅版本。
boolean contains(Object o)如果此列表包含指定的元素,则返回 true
Iterator<E> descendingIterator()以相反的顺序返回此deque中的元素的迭代器。
E get(int index)返回此列表中指定位置的元素。
E getFirst()返回此列表中的第一个元素。
E getLast()返回此列表中的最后一个元素。
int indexOf(Object o)返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
int lastIndexOf(Object o)返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
boolean offer(E e)将指定的元素添加为此列表的尾部(最后一个元素)。
boolean offerFirst(E e)在此列表的前面插入指定的元素。
boolean offerLast(E e)在该列表的末尾插入指定的元素。
E peek()检索但不删除此列表的头(第一个元素)。
E peekFirst()检索但不删除此列表的第一个元素,如果此列表为空,则返回 null
E peekLast()检索但不删除此列表的最后一个元素,如果此列表为空,则返回 null
E poll()检索并删除此列表的头(第一个元素)。
E pollFirst()检索并删除此列表的第一个元素,如果此列表为空,则返回 null
E pollLast()检索并删除此列表的最后一个元素,如果此列表为空,则返回 null
E pop()从此列表表示的堆栈中弹出一个元素。
void push(E e)将元素推送到由此列表表示的堆栈上。
E remove()检索并删除此列表的头(第一个元素)。
E remove(int index)删除该列表中指定位置的元素。
boolean remove(Object o)从列表中删除指定元素的第一个出现(如果存在)。
E removeFirst()从此列表中删除并返回第一个元素。
boolean removeFirstOccurrence(Object o)删除此列表中指定元素的第一个出现(从头到尾遍历列表时)。
E removeLast()从此列表中删除并返回最后一个元素。
boolean removeLastOccurrence(Object o)删除此列表中指定元素的最后一次出现(从头到尾遍历列表时)。
E set(int index, E element)用指定的元素替换此列表中指定位置的元素。
int size()返回此列表中的元素数。
Object[] toArray()以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
<T> T[] toArray(T[] a)以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。

猜你喜欢

转载自blog.csdn.net/qq_43229056/article/details/108937473