List集合2-LinkedList

时间:2022-12-18 03:49:39

一.LinkedList集合

  LinkedList集合也是List接口的实现类(没有ArrayList集合常见)

二.LinkedList集合的特点

  LinkedList内部是一个链表(双向链表)

  LinkedList的特点:增删快,查找慢

三.LinkedList集合中特有的方法,(子类比接口更加强大,所以有部分特有方法)

  void addFirst(E e):  向集合的首个位置添加元素

  void addLast(E e):  向集合的尾部添加元素

LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
//void addFirst​(E e): 向集合的首个位置添加元素
list.addFirst("牛顿");
System.out.println("list:" + list);
//void addLast(E e):向集合的尾部添加元素
list.addLast("伽利略");
System.out.println("list:" + list);

  E getFirst():  获取集合收个位置的元素

   E getLast():  获取集合尾部的元素

 LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
list.add("达芬奇"); //获取集合中首个位置的元素并打印
System.out.println("首个元素:" + list.getFirst()); //爱迪生 //获取集合中首个位置的元素并打印
System.out.println("尾部元素:" + list.getLast()); //达芬奇

  E removeFist():  删除收个元素,返回被删除的元素

  E removeLast():  删除最后一个元素,返回被删除的元素

LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
list.add("达芬奇"); //调用 removeFirst​() 删除首个元素
//String str = list.removeFirst();
System.out.println("删除后:" + list); //[ 达尔文,达芬奇]
//删除尾部元素
String str = list.removeLast(); System.out.println("删除后:" + list); //[爱迪生, 达尔文]
System.out.println("str:" + str); //达芬奇

  void push(E e):  压入,向收个位置添加元素  (等价于addFirst(E e)))

    E pop():  弹出,移除第一个元素 (等价于E removeFirst())

  push()和pop()两个方法为了更加见名知意

  

 //创建一个集合并添加元素
LinkedList<String> list = new LinkedList<>();
list.add("爱迪生");
list.add("达尔文");
list.add("达芬奇"); //void push​(E e): 压入, 向首个位置添加元素
list.push("牛顿");
System.out.println("list:" + list); //[牛顿, 爱迪生, 达尔文, 达芬奇] //E pop​(): 弹出,移除第一个元素。
String str = list.pop();
System.out.println("list:" + list); //[爱迪生, 达尔文, 达芬奇]