package com.itheima.demo01.List;
import java.util.LinkedList;
/*
java.util.LinkedList 集合 implements List 接口
LinkedList 集合的特点:
1. 底层是一个链表结构: 查询慢, 增删快
2. 里边包含了大量操作首尾元素的方法
注意: 使用 LinkedList 集合特有的方法, 不能使用多态
- public void addFirst(E e): 将指定元素插入此列表的开头。- public void addLast(E e): 将指定元素添加到此列表的结尾。- public void push(E e): 将元素推入此列表所表示的堆栈。- public E getFirst(): 返回此列表的第一个元素。- public E getLast(): 返回此列表的最后一个元素。- public E removeFirst(): 移除并返回此列表的第一个元素。- public E removeLast(): 移除并返回此列表的最后一个元素。- public E pop(): 从此列表所表示的堆栈处弹出一个元素。- public boolean isEmpty():如果列表不包含元素,则返回 true。
*/
public class Demo02LinkedList {
public static void main(String[] args) {show03();
}
/*
- public E removeFirst(): 移除并返回此列表的第一个元素。- public E removeLast(): 移除并返回此列表的最后一个元素。- public E pop(): 从此列表所表示的堆栈处弹出一个元素。此方法相当于 removeFirst
*/
private static void show03() {
// 创建 LinkedList 集合对象
LinkedList<String> linked = new LinkedList<>();
// 使用 add 方法往集合中添加元素
linked.add("a");
linked.add("b");
linked.add("c");
System.out.println(linked);//[a, b, c]
//String first = linked.removeFirst();
String first = linked.pop();
System.out.println("被移除的第一个元素:"+first);
String last = linked.removeLast();
System.out.println("被移除的最后一个元素:"+last);
System.out.println(linked);//[b]
}
/*
- public E getFirst(): 返回此列表的第一个元素。- public E getLast(): 返回此列表的最后一个元素。*/
private static void show02() {
// 创建 LinkedList 集合对象
LinkedList<String> linked = new LinkedList<>();
// 使用 add 方法往集合中添加元素
linked.add("a");
linked.add("b");
linked.add("c");
//linked.clear();// 清空集合中的元素 在获取集合中的元素会抛出 NoSuchElementException
//public boolean isEmpty():如果列表不包含元素,则返回 true。if(!linked.isEmpty()){String first = linked.getFirst();
System.out.println(first);//a
String last = linked.getLast();
System.out.println(last);//c
}
}
/*
- public void addFirst(E e): 将指定元素插入此列表的开头。- public void addLast(E e): 将指定元素添加到此列表的结尾。- public void push(E e): 将元素推入此列表所表示的堆栈。此方法等效于 addFirst(E)。*/
private static void show01() {
// 创建 LinkedList 集合对象
LinkedList<String> linked = new LinkedList<>();
// 使用 add 方法往集合中添加元素
linked.add("a");
linked.add("b");
linked.add("c");
System.out.println(linked);//[a, b, c]
//public void addFirst(E e): 将指定元素插入此列表的开头。//linked.addFirst("www");
linked.push("www");
System.out.println(linked);//[www, a, b, c]
//public void addLast(E e): 将指定元素添加到此列表的结尾。此方法等效于 add()
linked.addLast("com");
System.out.println(linked);//[www, a, b, c, com]
}
/*
boolean add(E e)
将指定元素添加到此列表的结尾。
void add(int index, E element)
在此列表中指定的位置插入指定的元素。
boolean addAll(Collection<? extends E> c)
添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序。
boolean addAll(int index, Collection<? extends E> c)
将指定 collection 中的所有元素从指定位置开始插入此列表。
void addFirst(E e)
将指定元素插入此列表的开头。
void addLast(E e)
将指定元素添加到此列表的结尾。
void clear()
从此列表中移除所有元素。
Object clone()
返回此 LinkedList 的浅表副本。
boolean contains(Object o)
如果此列表包含指定元素,则返回 true。
Iterator<E> descendingIterator()
返回以逆向顺序在此双端队列的元素上进行迭代的迭代器。
E element()
获取但不移除此列表的头(第一个元素)。
E get(int index)
返回此列表中指定位置处的元素。
E getFirst()
返回此列表的第一个元素。
E getLast()
返回此列表的最后一个元素。
int indexOf(Object o)
返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
int lastIndexOf(Object o)
返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
ListIterator<E> listIterator(int index)
返回此列表中的元素的列表迭代器(按适当顺序),从列表中指定位置开始。
boolean offer(E e)
将指定元素添加到此列表的末尾(最后一个元素)。
boolean offerFirst(E e)
在此列表的开头插入指定的元素。
boolean offerLast(E e)
在此列表末尾插入指定的元素。
E peek()
获取但不移除此列表的头(第一个元素)。
E peekFirst()
获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
E peekLast()
获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
E poll()
获取并移除此列表的头(第一个元素)
E pollFirst()
获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
E pollLast()
获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
E pop()
从此列表所表示的堆栈处弹出一个元素。
void push(E e)
将元素推入此列表所表示的堆栈。
E remove()
获取并移除此列表的头(第一个元素)。
E remove(int index)
移除此列表中指定位置处的元素。
boolean remove(Object o)
从此列表中移除首次出现的指定元素(如果存在)。
E removeFirst()
移除并返回此列表的第一个元素。
boolean removeFirstOccurrence(Object o)
从此列表中移除第一次出现的指定元素(从头部到尾部遍历列表时)。
E removeLast()
移除并返回此列表的最后一个元素。
boolean removeLastOccurrence(Object o)
从此列表中移除最后一次出现的指定元素(从头部到尾部遍历列表时)。
E set(int index, E element)
将此列表中指定位置的元素替换为指定的元素。
int size()
返回此列表的元素数。
Object[] toArray()
返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组。
<T> T[]
toArray(T[] a)
返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组;返回数组的运行时类型为指定数组的类型。*/
}