适合于:经常做删除和插入动作
特定方法:
addFirst()
addLast()
getFirst()
getLast()
removeFirst()
removeLast()
例:使用LinkedList实现堆栈(First-In Last-Out)
package 对象容器;
import java.util.*;
public class StringStack {
/**
* @param args
*/
private LinkedList
public StringStack(){
linkedList=new LinkedList
}
public void push(String name){
linkedList.addFirst(name);
}
public String top(){
return linkedList.getFirst();
}
public String pop(){
return linkedList.removeFirst();
}
public boolean isEmpty(){
return linkedList.isEmpty();
}
}
测试类:
package 对象容器;
import java.util.*;
public class StringStackDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
StringStack stack=new StringStack();
System.out.println("输入名称(输入quit结束)");
while(true){
System.out.print("#");
String input=scanner.next();
if(input.equals("quit"))break;
stack.push(input);
}
//System.out.println(stack.top());
System.out.print("显示输入:");
while(!stack.isEmpty()){
System.out.print(stack.pop()+" ");
}
System.out.println();
}
}
运行结果:
输入名称(输入quit结束)
#aaaa
#bbbbbb
#cccccccc
#quit
显示输入:cccccccc bbbbbb aaaa
import java.util.*;
public class StringQueue {
private LinkedList
public StringQueue(){
linkedList = new LinkedList
}
public void put(String name){
linkedList.addFirst(name);
}
public String get(){
return linkedList.removeLast();
}
public boolean isEmpty(){
return linkedList.isEmpty();
}
}
测试类:
package 对象容器;
import java.util.*;
public class StringQueueDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
StringQueue queue=new StringQueue();
System.out.println("输入名称(输入quit结束)");
while(true){
System.out.print("#");
String input=scanner.next();
if(input.equals("quit"))break;
queue.put(input);
}
System.out.print("显示输入:");
while(!queue.isEmpty()){
System.out.print(queue.get()+" ");
}
System.out.println();
}
}
运行结果:
#a
#b
#c
#quit
显示输入:a b c
package 对象容器;
import java.util.*;
public class QueueDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
Queue
System.out.println("输入名称(输入quit结束)");
while(true){
System.out.print("#");
String input=scanner.next();
if(input.equals("quit"))break;
//offer():加入元素至队列中
queue.offer(input);
}
System.out.print("显示输入:");
String element=null;
//poll():取得并删除队列中的元素
//队列为空时返回null
while((element=queue.poll())!=null){
System.out.print(element+" ");
}
System.out.println();
}
}
No comments:
Post a Comment