package Collection;
import java.util.LinkedList;
/*
LinkedList:特有的方法
addFirst()/addLast();
getFirst()/getLast();
removeFirst()/removeLast();
若链表为空,抛出 没有这个元素异常/NoSuchElementException
但是 JDK1.6 版本以后出现了替代方法:
offerFirst()/offerLast();
peekFirst()/peekLast()
pollFirst()/pollLast():若链表为空,则返回null
*/
public class LinkListDemo
{
public static void main(String[] args)
{
LinkedList<String> link = new LinkedList<String>();
link.addFirst("Java01");
link.addFirst("Java02");
link.addFirst("Java03");
link.addFirst("Java04");
sop(link);
// [Java04, Java03, Java02, Java01]
/*
get 方法只取元素
remove 方法取完元素,还删除
*/
/*
sop(link.getFirst());
sop(link.getLast());
sop(link.removeFirst());
sop(link.removeLast());
sop("size: "+link.size());
*/
while (!link.isEmpty())
{
sop(link.removeFirst());
}
}
public static void sop(Object obj)
{
System.err.println(obj);
}
}
package Collection;
import java.util.LinkedList;
/*
使用LinkedList 模拟一个堆栈或者队列数据结构。
堆栈:先进后出
队列:先进先出
*/
class DuiLie
{
private LinkedList link;
DuiLie()
{
link = new LinkedList();
}
public void myAdd(Object obj)
{
link.addFirst(obj);
}
public Object myGet()
{
return link.removeLast();
}
public boolean isNull()
{
return link.isEmpty();
}
}
public class LinkListTest
{
public static void main(String[] args)
{
DuiLie dl = new DuiLie();
dl.myAdd("Java01");
dl.myAdd("Java02");
dl.myAdd("Java03");
dl.myAdd("Java04");
// System.out.println(dl.myGet());
System.out.println("============");
while (!dl.isNull())
{
System.out.println(dl.myGet());
}
}
}