java中linkedlist的用法_Java中LinkedList用法

LinkedList是Queue的实现类,是双向链表。决定了LinkedList的节点都包含了对前一个和后一个节点的引用。

构造函数

public LinkedList(); ——生成一个空的链表

public LinkedList(Collection extends E> c); ——复制构造函数

常用方法及举例

添加元素:

boolean add(Object element) —— 将元素添加在链表的最后

boolean add(int index, Object element) —— 将元素添加在指定位置后面

boolean addFirst(Object element) —— 将元素添加在链表的第一个元素的位置

boolean addLast(Object element) —— 将元素添加在链表最后

举例:

package Main;

import java.util.Iterator;

import java.util.LinkedList;

public class Main {

public static void main(String[] args){

LinkedList list = new LinkedList();

list.add(1);

list.add(2);

list.addFirst(0);

list.addLast(4);

list.add(3,3);

Iterator iter = list.iterator();

while(iter.hasNext()){

System.out.println(iter.next());

}

}

}

结果:

0

1

2

3

4

获取链表的元素

E get(int index)——获取索引处的元素

E getFirst()——获取第一个元素

E getLast()——获取第最后一个元素

System.out.println(list.getFirst());

System.out.println(list.getLast());

System.out.println(list.get(3));

删除元素

E remove()——移除链表中第一个元素

boolean remove(Object o)——移除链表中指定的元素

E remove(int index)——移除链表中该索引处的元素

E removeFirst()——移除链表中第一个元素

E removeLast()——移除链表中最后一个元素

boolean removeFirstOccurrence(Object o)——移除链表中第一次出现所在位置的元素

boolean removeLastOccurrence(Object o)——移除链表中最后一次出现所在位置的元素

其他操作

void push(E e)——与add()效果一样

E pop()——与remove()效果一样

E poll()——查询并移除第一个元素

void clear()——清空集合里的所有元素

Object clone()——复制一个集合

boolean contains(Object object)——判断集合是否包含指定元素

indexOf(Object o)——返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。

lastIndexOf(Object o)——返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。

例子:

LinkedList myList = new LinkedList();

myList.push("a");

myList.push("b");

myList.push("d");

myList.push("e");

myList.push("f");

System.out.println("myList example");

System.out.println(myList.poll());

myList.pop();

System.out.println(myList.indexOf("e"));

System.out.println(myList.contains("e"));

结果:

myList example

f

-1

false

遍历

普通的for循环

int size = list.size();

for (int i = 0; i < size; i++) {

System.out.println(list.get(i));

}

for...each

for (Object j : list) {

System.out.println(j);

}

迭代器

for (Iterator iter = list.iterator(); iter.hasNext(); ) {

System.out.println(iter.next());

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值