package com.wangg;
import java.util.Iterator;
import java.util.LinkedList;
public class Dome08 {
public static void main(String[] args) {
/**
* LinkedList常用方法:
* 增加:addFirst(E e) 将指定元素插入此列表的开头。 addLast(E e) 将指定元素添加到此列表的结尾。 offer(E e) 将指定元素添加到此列表的末尾(最后一个元素)。
*offerFirst(E e) 在此列表的开头插入指定的元素。 offerLast(E e) 在此列表末尾插入指定的元素。
* 删除: poll() 获取并移除此列表的头(第一个元素) pollFirst() 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
* pollLast() 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。 removeFirst() 移除并返回此列表的第一个元素。
* removeLast() 移除并返回此列表的最后一个元素。
* 修改
* 查看:element() 获取但不移除此列表的头(第一个元素)。 getFirst() 返回此列表的第一个元素。getLast() 返回此列表的最后一个元素。
* indexOf(Object o) 返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
*lastIndexOf(Object o) 返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
* peek() 获取但不移除此列表的头(第一个元素)。 peekFirst() 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
* peekLast() 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
* 判断
*/
LinkedList<String> list= new LinkedList<>();
list.add("aaaa");
list.add("bbbb");
list.add("cccc");
list.add("dddd");
list.add("bbbb");
list.add("eeeee");
list.addFirst("子义");
list.addLast("王刚");
list.offer("天");
list.offerFirst("w");
list.addLast("w");
System.out.println(list.poll());//删除头上元素并且,输出元素
System.out.println(list.pollFirst());
System.out.println(list.pollLast());
System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list);//LinkedList可以添加重复数组
//list.clear();//清空集合
System.out.println(list);
System.out.println(list.pollLast());
System.out.println(list.removeFirst());//在没有数据的情况下,会当场报错Exception in thread "main" java.util.NoSuchElementException
System.out.println("集合遍历---------------------------");
for (int i = 0; i <list.size(); i++) {
System.out.println(list.get(i));
}
//增强for循环
System.out.println("--------------------");
for (Object s:list){
System.out.println(s);
}
//迭代器
System.out.println("-------------------------");
// Iterator<String> iterator = list.iterator();
// while (iterator.hasNext()){
// System.out.println(iterator.next());
// }
//另一种方法
for (Iterator<String> iterator =list.iterator();iterator.hasNext();){//这个好,节省内存
System.out.println(iterator.next());
}
}
}