LinkedList

LinkedList的本质是双向链表。它也可以被当作堆栈、队列或双端队列进行操作。它采用的是链表式储存,所以比较适合用来执行插入,删除等功能,减少在列表中插入或删除元素所付出的代价。

一、基本使用

1.添加

boolean add(Object element) 它将元素附加到列表的末尾。

boolean add(int index,Object element) 指定位置插入。 void addFirst(E element) 元素附加到列表的头部 void addLast(Eelement) 元素附加到列表的尾部

LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(1); linkedList.add(2); linkedList.add(3); linkedList.addFirst(4); linkedList.addFirst(5); linkedList.addLast(6); linkedList.add(2,9); System.out.println(linkedList);

输出

[5, 4, 9, 1, 2, 3, 6]

2.获取

Object add(int index) 它将元素附加到列表的末尾。

Object getFirst() 它返回链表的第一个元素。

Object getLast() 它返回链接列表的最后一个元素。

LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(1); linkedList.add(2); linkedList.add(3); System.out.println("获取下标为1的元素:"+linkedList.get(1)); System.out.println("链表的第一个元素:"+linkedList.getFirst()); System.out.println("链表的最后一个元素:"+linkedList.getLast());

3.查询

boolean contains(Object element)如果元素存在于列表中,则返回true。

LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(1); linkedList.add(2); linkedList.add(3); linkedList.add(1); System.out.println("是否出现过元素1:"+linkedList.contains(1)); System.out.println("是否出现过元素4:"+linkedList.contains(4));

输出

是否出现过元素1:true 是否出现过元素4:false

4.修改

Object set(int index,Object element)它用于用新元素替换列表中的现有元素

LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(1); linkedList.add(2); linkedList.add(3); linkedList.add(1); linkedList.set(1,9); System.out.println("更新过的链表:"+linkedList);

输出

更新过的链表:[1, 9, 3, 1]

5.删除

E remove() 删除第一个元素

E remove(int location) 删除指定位置的元素

E removeFirst() 删除并返回链接列表的头部一个元素

E removeLast() 删除并返回链接列表的尾部一个元素

LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(1); linkedList.add(2); linkedList.add(3); linkedList.add(1); linkedList.remove(); //删除第一个元素 linkedList.remove(2);//删除指定位置的元素 System.out.println(linkedList);

6. 清空

void clear():它删除列表中的所有元素。

LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(1); linkedList.add(2); linkedList.add(3); linkedList.add(1); linkedList.clear(); System.out.println(linkedList);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值