LinkedList特有方法:
addFirst();
addLast();
getFirst();
getLast();
获取元素但不删除元素。如果集合中没有元素会会出现NoSuchElementException.
(JDK 1.6 出现替代方法offerFirst(),offLast();peekFirst(),peekLast()。集合中没有元素会返回Null)
removeFirst();
removeLast();
获取元素,但是元素被删除。如果集合中没有元素会出现NoSuchElementException.
(JDK 1.6 出现替代方法poolFirst(),poolLast()。集合中没有元素会返回Null)
队列数据结构:先进先出,如同一个水管
import java.util.*;
public class LinkedListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<String> link=new LinkedList<String>();
link.addFirst("java01");
link.addFirst("java02");
link.addFirst("java03");
link.addFirst("java04");
sop(link);
while(!link.isEmpty())
{
sop(link.removeLast());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果:
加入取出元素代码
link.getFirst();
则会出现NoSuchElementException,表示集合中没有元素会出现
堆栈数据结构:先进后出,如同一个杯子
只需将如上代码中while循环中removeLast()改为removeFirst()即可。如下:
import java.util.*;
public class LinkedListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<String> link=new LinkedList<String>();
link.addFirst("java01");
link.addFirst("java02");
link.addFirst("java03");
link.addFirst("java04");
sop(link);
while(!link.isEmpty())
{
sop(link.removeFirst());
}
link.getFirst();
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果:
或者可以封装为以下代码:
import java.util.*;
class DuiLie
{
private LinkedList<String> link;
DuiLie()
{
link=new LinkedList<String>();
}
public void myadd(String s)
{
link.addFirst(s);
}
public Object myget()
{
return link.removeLast();//FIFO,队列
//return link.removeFirst();//先进后出,堆栈
}
public boolean isNull()
{
return link.isEmpty();
}
}
public class LinkedListTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
DuiLie d1=new DuiLie();
d1.myadd("java01");
d1.myadd("java02");
d1.myadd("java03");
d1.myadd("java04");
while(!d1.isNull())
{
System.out.println(d1.myget());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}