您的位置:首页 > 编程语言 > Java开发

JAVA | 55 - 类集框架 | Stack |

2017-12-06 22:29 218 查看
栈是一种先进后出的数据结构,Stack 是 Vector 的子类,但 Stack 并不使用 Vector 的方法。

在进行栈操作的过程中,如果已经栈已经没有数据了,那么无法继续出栈。

import java.util.*;

class Book{
private String title;
private int price;
public Book(String title, int price){
this.title = title;
this.price = price;
}
@Override
public String toString() {
return this.title + " " + this.price;
}
@Override
public int hashCode() {
return Objects.hash(title, price);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
final Book other = (Book) obj;
return Objects.equals(this.title, other.title)
&& Objects.equals(this.price, other.price);
}
}
public class Main {
public static void main(String[] args) throws Exception{
// 设置了泛型,从而保证集合中所有的数据类型都一致
Book bookA = new Book("java",100);
Book bookB = new Book("c",89);
Book bookC = new Book("c++",100);
Book bookD = new Book("python",100);
Stack <Book> stack = new Stack <Book>();
stack.push(bookA);
stack.push(bookB);
stack.push(bookC);
stack.push(bookD);
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: