Java LinkedList用法
Posted 守林鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java LinkedList用法相关的知识,希望对你有一定的参考价值。
本想找队列Queue,发现那是一个接口,LinkedList实现了Queue接口,可以当作队列来用。
一、概述
- Java的LinkedList是一种常用的数据容器,与ArrayList相比,LinkedList的增删操作效率更高,而查改操作效率较低。
- LinkedList 实现了Queue接口,能当作队列使用。
- LinkedList 实现了List 接口,能对它进行列表操作。
- LinkedList 实现了Deque 接口,即能将LinkedList当作双端队列使用。
- LinkedList 实现了Cloneable接口,能克隆。
- LinkedList 实现了java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。
二、构造方法
- LinkedList<类> list = new LinkedList<类>();
- LinkedList<类> list = new LinkedList(Collection<? extends E> c); 使用一个集合创建一个新的linkedList。
三、常用方法
1.增
- public boolean add(E e),链表末尾添加元素,返回是否成功;
- public void add(int index, E element),向指定位置插入元素;
- public boolean addAll(Collection<? extends E> c),将一个集合的所有元素添加到链表后面,返回是否成功;
- public boolean addAll(int index, Collection<? extends E> c),将一个集合的所有元素添加到链表的指定位置后面,返回是否成功;
- public void addFirst(E e),添加到第一个元素;
- public void addLast(E e),添加到最后一个元素;
- public boolean offer(E e),向链表末尾添加元素,返回是否成功;
- public boolean offerFirst(E e),头部插入元素,返回是否成功;
- public boolean offerLast(E e),尾部插入元素,返回是否成功;
2.删
- public void clear(),清空链表;
- public E removeFirst(),删除并返回第一个元素;
- public E removeLast(),删除并返回最后一个元素;
- public boolean remove(Object o),删除某一元素,返回是否成功;
- public E remove(int index),删除指定位置的元素;
- public E poll(),删除并返回第一个元素;
- public E remove(),删除并返回第一个元素;
- public boolean contains(Object o),判断是否含有某一元素;
- public E get(int index),返回指定位置的元素;
- public E getFirst(), 返回第一个元素;
- public E getLast(),返回最后一个元素;
- public int indexOf(Object o),查找指定元素从前往后第一次出现的索引;
- public int lastIndexOf(Object o),查找指定元素最后一次出现的索引;
- public E peek(),返回第一个元素;
- public E element(),返回第一个元素;
- public E peekFirst(),返回头部元素;
- public E peekLast(),返回尾部元素;
4.改
- public E set(int index, E element),设置指定位置的元素;
5.遍历
for (int size = linkedList.size(), i = 0; i < size; i++) { System.out.println(linkedList.get(i)); }
for (String str: linkedList) { System.out.println(str); }
Iterator iter = linkedList.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); }
6.其他
- public Object clone(),克隆该列表;
- public Iterator<E> descendingIterator(),返回倒序迭代器;
- public int size(),返回链表元素个数;
- public ListIterator<E> listIterator(int index),返回从指定位置开始到末尾的迭代器;
- public Object[] toArray(),返回一个由链表元素组成的数组;
- public <T> T[] toArray(T[] a),返回一个由链表元素转换类型而成的数组;
参考:https://www.jianshu.com/p/e1132ab06b0e
以上是关于Java LinkedList用法的主要内容,如果未能解决你的问题,请参考以下文章
Java ArrayListVector和LinkedList等的差别与用法(转)