diff --git a/javaSE-day03/src/com/inmind/list01/LinkedListDemo05.java b/javaSE-day03/src/com/inmind/list01/LinkedListDemo05.java index daed694..90335d4 100644 --- a/javaSE-day03/src/com/inmind/list01/LinkedListDemo05.java +++ b/javaSE-day03/src/com/inmind/list01/LinkedListDemo05.java @@ -11,6 +11,23 @@ LinkedList的特点和基本使用 LinkedList底层数据结构是双向链表,它的数据结构的特点:增删快,查询慢 当对于很多数据是用来进行增删的,而不是用来查询的那么就应该使用LinkedList + + -----------------------------独有的功能--------------------------------- + LinkedList底层采用双向链表,它对于头尾操作的效率较高,所以该类提供了高效头尾操作的api + + 8.LinkedList独有的方法 + public void addFirst(E e) :将指定元素插入此列表的开头。 + public void addLast(E e) :将指定元素添加到此列表的结尾。 + + public E getFirst() :返回此列表的第一个元素。 + public E getLast() :返回此列表的最后一个元素。 + + public E removeFirst() :移除并返回此列表的第一个元素。 + public E removeLast() :移除并返回此列表的最后一个元素。 + + public E pop() :从此列表所表示的堆栈处弹出一个元素。 + public void push(E e) :将元素推入此列表所表示的堆栈。 + */ public class LinkedListDemo05 { public static void main(String[] args) { @@ -35,6 +52,36 @@ public class LinkedListDemo05 { //public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素 lists.set(2, "张三"); System.out.println(lists); + System.out.println("-----------------独有的头尾操作API-------------------------"); + LinkedList linkedList = new LinkedList<>(); + linkedList.add("王宝强"); + linkedList.add("迪丽热巴"); + linkedList.add("刘浩存"); + linkedList.add("杨幂"); + System.out.println(linkedList); + //添加头尾数据 + linkedList.addFirst("柳岩"); + System.out.println(linkedList); + + linkedList.addLast("白鹿"); + System.out.println(linkedList); + + //获取头尾数据 + System.out.println(linkedList.getFirst()); + System.out.println(linkedList.getLast()); + + //删除头尾数据 + System.out.println(linkedList.removeFirst()); + System.out.println(linkedList.removeLast()); + System.out.println(linkedList); + + //pop:弹栈 + System.out.println(linkedList.pop()); + System.out.println(linkedList); + + //push:压栈 + linkedList.push("王宝宝"); + System.out.println(linkedList); } }