java linkedlist pop_Java Linked集合的简单介绍和常用方法的使用

LinkedList的简单介绍

java.util.LinkedList 集合数据存储的结构是链表结构。LinkedList是一个双向链表

在实际开发中,对一个集合元素的添加和删除,经常涉及到首尾操作,而LinkedList就提供了大量的首尾操作的方法

LinkedList集合的特点

1、方便元素的添加、删除

2、元素的查询慢

2、里面包括了大量首尾首尾操作的方法

注意:LinkedList集合的方法不能使用多态

为什么说LinkedList集合添加、删除元素方便,查询元素慢

首先,LinkedList集合数据存储的结构是链表结构,

而链表是添加、删除元素方便,查询元素慢的:

查询慢:链表中地址不是连续的每次查询元素都必须从头开始查询

增删快:链表结构增加/删除一个元素对链表的整体结构没有影响,所以增删快

操作集合首尾的方法、是否为空判断方法

public voidaddFirst(E e):将指定元素插入此列表的开头。public voidaddLast(E e):将指定元素添加到此列表的结尾。publicE getFirst():返回此列表的第一个元素。publicE getLast():返回此列表的最后一个元素。publicE removeFirst():移除并返回此列表的第一个元素。publicE removeLast():移除并返回此列表的最后一个元素。public voidpush(E e):将元素推入此列表所表示的堆栈。publicE pop():从此列表所表示的堆处弹出一个元素。public boolean isEmpty():如果列表不包含元素,则返回true

addFirst()和addLast()方法

public classDemoLinkedListAddFirstLast {public static voidmain(String[] args) {//创建LinkedList链表集合对象

LinkedList linkedList = new LinkedList<>();//向linkedList添加元素

linkedList.add(0, "链表元素0");

linkedList.add(1, "链表元素1");

linkedList.add(2, "链表元素2");

linkedList.add(3, "链表元素3");

linkedList.add(4, "链表元素4");

linkedList.add(5, "链表元素5");

System.out.println(linkedList);//用addFirst方法向链表集合开头添加一个元素

linkedList.addFirst("开头");//用addLast方法向链表集合开头添加一个元素

linkedList.addLast("结尾");

System.out.println(linkedList);

}

}

输出结果:

[链表元素0, 链表元素1, 链表元素2, 链表元素3, 链表元素4, 链表元素5]

[开头, 链表元素0, 链表元素1, 链表元素2, 链表元素3, 链表元素4, 链表元素5, 结尾]

getFirst()和getLact()方法

importjava.util.LinkedList;public classDemoLinkedListGetFirstLast {public static voidmain(String[] args) {//创建LinkedList链表集合对象

LinkedList linkedList = new LinkedList<>();//向linkedList添加元素

linkedList.add(0, "链表元素0");

linkedList.add(1, "链表元素1");

linkedList.add(2, "链表元素2");

linkedList.add(3, "链表元素3");

linkedList.add(4, "链表元素4");

linkedList.add(5, "链表元素5");

System.out.println(linkedList);//获取此列表的第一个元素。

String first =linkedList.getFirst();//获取此列表的最后一个元素。

String last =linkedList.getLast();

System.out.println("第一个元素:" +first);

System.out.println("最后一个元素:" +last);

}

}

输出结果:

[链表元素0, 链表元素1, 链表元素2, 链表元素3, 链表元素4, 链表元素5]

第一个元素:链表元素0

最后一个元素:链表元素5

removeFirst()和removeLast()方法

importjava.util.LinkedList;public classDemoLinkedListRemoveFirstLast {public static voidmain(String[] args) {//创建LinkedList链表集合对象

LinkedList linkedList = new LinkedList<>();//向linkedList添加元素

linkedList.add(0, "链表元素0");

linkedList.add(1, "链表元素1");

linkedList.add(2, "链表元素2");

linkedList.add(3, "链表元素3");

linkedList.add(4, "链表元素4");

linkedList.add(5, "链表元素5");

System.out.println(linkedList);//移除并返回此列表的第一个元素

String first =linkedList.removeFirst();//移除并返回此列表的最后一个元素

String last =linkedList.removeLast();

System.out.println("移除的第一个元素:" +first);

System.out.println("移除的最后一个元素:" +last);

System.out.println("此时的集合:" +linkedList);

}

}

输出结果:

[链表元素0, 链表元素1, 链表元素2, 链表元素3, 链表元素4, 链表元素5]

移除的第一个元素:链表元素0

移除的最后一个元素:链表元素5

此时的集合:[链表元素1, 链表元素2, 链表元素3, 链表元素4]

push()和pop()方法

说明:push()方法和addFirst()方法功能一样

pop()方法和removeFirst()方法功能一样

importjava.util.LinkedList;public classDemoLinkedListPushPop {public static voidmain(String[] args) {//创建LinkedList链表集合对象

LinkedList linkedList = new LinkedList<>();//向linkedList添加元素

linkedList.add(0, "链表元素0");

linkedList.add(1, "链表元素1");

linkedList.add(2, "链表元素2");

System.out.println("原集合:" +linkedList);//将元素推入此列表所表示的堆栈

linkedList.push("push元素");

System.out.println("push()操作后的集合:" +linkedList);//从此列表所表示的堆处弹出一个元素

linkedList.pop();

System.out.println("push()操作后的集合:" +linkedList);

}

}

输出结果:

原集合:[链表元素0, 链表元素1, 链表元素2]

push()操作后的集合:[push元素, 链表元素0, 链表元素1, 链表元素2]

push()操作后的集合:[链表元素0, 链表元素1, 链表元素2]

isEmpty()方法

importjava.util.LinkedList;public classDemoLinkedListIsEmpty {public static voidmain(String[] args) {//创建LinkedList链表集合对象

LinkedList linkedList = new LinkedList<>();boolean b1 =linkedList.isEmpty();

System.out.println("集合是否为空:" +b1);//向linkedList添加元素

linkedList.add(0, "链表元素0");

linkedList.add(1, "链表元素1");

linkedList.add(2, "链表元素2");boolean b2 =linkedList.isEmpty();

System.out.println("集合是否为空:" +b2);

}

}

输出结果:

集合是否为空:true集合是否为空:false

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值