import java.util.Iterator;
import java.util.LinkedList;
/*
* --Collection
* -------|List 实现List接口的集合类,特点是有序可重复
* ---------|ArrayLIst 该类的内部维护了一个集合数组,因此查询速度快,但是增删速度较慢,因此用于查询较多写入删掉少的场景中;
* ---------|LinkList List接口的链表的实现方式, 特点是增删改速度快,但是查询速度慢
* ---------|Vector
* -------|Set 实现Set接口类的集合类,特点是无序且不可重复
*
* LinkList的特有方法
* 1.方法介绍:
* addFirst(E e) 在集合的首个位置添加元素
* addLast(E e) 在集合的末尾添加元素
* getLast() 获取集合中末尾位置的元素
* getFrist() 获取集合中首位的元素
* removeFirst() 删除集合中首个元素并且返回
* removeLast() 删除集合中末尾位置的元素并返回
*
* 2. 数据结构
* 1. 堆栈 主要用于可以使用堆栈的方式来存储数据
* 先进后出,后进先出
* push() 将元素推进到栈顶的位置
* pop() 将元素从栈顶删除并返回值
*
* 2. 队列
* 先进先出 主要用于可以使用模拟队列的方式来存储数据
* offer() 将元素添加到队列的末尾
* poll() 将元素从队列的队首删除并返回值
*
* 3. 返回逆序的迭代器对象
* descendingIterator()
* b
*
*/
public class Demo4 {
public static void main(String[] args){
LinkedList llist = new LinkedList();
llist.add("张三");
llist.add("李四");
llist.add("王五");
llist.add("赵四");
llist.add("王八");
llist.addFirst("林哥");
llist.addLast("谢二");
llist.push("你好");
llist.offer("你也要");
System.out.println(llist.poll());
System.out.println(llist.pop());
System.out.println(llist.getFirst());
System.out.println(llist.getLast());
System.out.println(llist);
//返回一个逆序的迭代器对象
Iterator iter = llist.descendingIterator();
//遍历集合中的元素
while(iter.hasNext()){
System.out.println(iter.next());
}
}
}