工具类-Stack类总结
Stack类的简介
-
Stack是Vector的一个子类,实现了标准的
后进先出
堆栈。 -
Stack的常用方法:
-
boolean isEmpty()
-判断堆栈是否为空。 -
Object peek()
-返回栈顶端的元素,但不从堆栈中移除它。 -
Object pop()
-移除堆栈顶部的对象,并作为此函数的值返回该对象。 -
Object push(Object element)
-将元素压入栈。 -
int search(Object element)
-返回对象在堆栈中的位置,以1为基数。
Stack类方法的使用
boolean isEmpty()方法
判断堆栈是否为空。
import java.util.Stack;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个String泛型的Stack
Stack<String> stack = new Stack<String>();
//判断新建的栈是否为空
boolean flag = stack.isEmpty();
if(flag){
System.out.println("新建的栈是为空");
}else{
System.out.println("新建的栈是不为空,它的长度是:"+stack.size());
}
}
}
// 新建的栈是为空
Object peek()方法
返回堆栈顶端的元素,对堆栈中本身不做任何的改动,若堆栈里有元素就返回最顶端的元素。
import java.util.Stack;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个String泛型的Stack
Stack<String> stack = new Stack<String>();
//把元素压入栈中
stack.push("Java");
stack.push("Python");
stack.push("PHP");
stack.push("软件测试");
stack.push("软件工程");
//返回栈顶端的元素,但不从堆栈中移除它
String topE = stack.peek();
System.out.println("返回堆栈中的栈顶元素为 : "+topE);
}
}
// 返回堆栈中的栈顶元素为 : 软件工程
Object pop()方法
移除堆栈顶部的对象,并作为此函数的值返回该对象。
import java.util.Stack;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个String泛型的Stack
Stack<String> stack = new Stack<String>();
//把元素压入栈中
stack.push("Java");
stack.push("Python");
stack.push("PHP");
stack.push("软件测试");
stack.push("软件工程");
System.out.println("堆栈中的元素有:"+stack);
//移除堆栈顶部的元素,但不从堆栈中移除它
String remove = stack.pop();
System.out.println("移除堆栈顶部的元素有:"+remove);
System.out.println("移除后堆栈中的元素有:"+stack);
}
}
// 堆栈中的元素有:[Java, Python, PHP, 软件测试, 软件工程]
// 移除堆栈顶部的元素有:软件工程
// 移除后堆栈中的元素有:[Java, Python, PHP, 软件测试]
Object push(Object element)方法
将元素添加到堆栈的末尾,堆栈的长度加1。
import java.util.Stack;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个Integer泛型的Stack
Stack<Integer> stack = new Stack<Integer>();
//把元素压入栈中
stack.push(10);
stack.push(20);
stack.push(30);
stack.push(40);
System.out.println("堆栈中的元素有:"+stack);
}
}
// 堆栈中的元素有:[10, 20, 30, 40]
int search(Object element)方法
返回对象在堆栈中的位置,以1为基数。
import java.util.Stack;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个Integer泛型的Stack
Stack<Integer> stack = new Stack<Integer>();
//把元素压入栈中
stack.push(10);
stack.push(20);
stack.push(30);
stack.push(40);
System.out.println("堆栈中的元素有:"+stack);
//返回对象在堆栈中的位置,它是以1为基数
int find = stack.search(20);
System.out.println("返回对象在堆栈中的位置:"+find);
}
}
// 堆栈中的元素有:[10, 20, 30, 40]
// 返回对象在堆栈中的位置:3