一.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); //[爱迪生, 达尔文, 达芬奇]