Java中的LinkedList 是採用雙向循環列表實現的。
利用LinkedList 可以實現棧(stack)、隊列(queue)
下面寫兩個例子
學生類:
int stuId;
public int getStuId() {
return stuId;
}
public void setStuId(int stuId) {
this.stuId = stuId;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
String stuName;
int age;
public Student(){
}
public Student(int stuId,String stuName,int age){
this.age = age;
this.stuId = stuId;
this.stuName = stuName;
}
public String toString() {
return ("學生姓名:"+this.stuName+"學生年齡"+this.age+"學生編號"+this.stuId);
}
隊列
自定義方法實現LInkedList
LinkedList lists =new LinkedList();
public void push(Object object){
lists.addLast(object);
}
public Object pop(){
return lists.removeFirst();
}
實現方法
System.out.println("在隊列中添加對象");
MyQuene quene = new MyQuene();
quene.push(new Student(1,"學生1",20));
quene.push(new Student(2,"學生2",21));
quene.push(new Student(3,"學生3",23));
for (Object object : quene.lists) {
Student student = (Student)object;
System.out.println(student.toString());
}
System.out.println("在隊列中刪除對象");
quene.pop();
for (Object object : quene.lists) {
Student student = (Student)object;
System.out.println(student.toString());
}
堆棧:
自定義方法,並實現
LinkedList lists =new LinkedList();
public void push(Object object){
lists.addFirst(object);
}
public Object pop(){
return lists.removeLast();
}
System.out.println("在隊列中添加對象");
MyStack Stack = new MyStack();
Stack.push(new Student(1,"學生1",20));
Stack.push(new Student(2,"學生2",21));
Stack.push(new Student(3,"學生3",23));
for (Object object : Stack.lists) {
Student student = (Student)object;
System.out.println(student.toString());
}
System.out.println("在隊列中刪除對象");
Stack.pop();
for (Object object : Stack.lists) {
Student student = (Student)object;
System.out.println(student.toString());
}