Java中的Stack equals()方法及示例
Stack概述
Stack是Java中用于实现栈的类,它是继承自Vector类的。栈是一种数据结构,可以理解为一种线性结构,相当于一个只能在顶端进行插入和删除操作的”箱子”,具有先进后出的特点。
equals()方法概述
equals()方法是Java中的一个重要方法,用于比较两个对象是否相等。在Stack类中,equals()方法同样可以用于比较两个栈是否相等。在Stack类中,equals()方法被重写,用于比较两个栈的元素是否相同。如果两个栈的元素序列相同,则equals()方法返回true,否则返回false。
equals()方法语法
public boolean equals(Object o)
equals()方法示例
import java.util.Stack;
public class StackEqualsExample {
public static void main(String[] args) {
Stack<Integer> stack1 = new Stack<>();
stack1.push(1);
stack1.push(2);
stack1.push(3);
Stack<Integer> stack2 = new Stack<>();
stack2.push(1);
stack2.push(2);
System.out.println("stack1: " + stack1);
System.out.println("stack2: " + stack2);
System.out.println("Are stack1 and stack2 equal? " + stack1.equals(stack2));
System.out.println("---------------------");
stack2.push(3);
System.out.println("stack1: " + stack1);
System.out.println("stack2: " + stack2);
System.out.println("Are stack1 and stack2 equal? " + stack1.equals(stack2));
}
}
注释:
1、定义了一个Stack对象stack1,同时向其中添加了三个元素。
2、定义另一个Stack对象stack2,向其中添加了两个元素。
3、输出stack1和stack2的元素。
4、使用equals()方法比较stack1和stack2, 因为他们的元素不相同,所以返回false。
5、向stack2中添加第三个元素。
6、再次输出stack1和stack2的元素。
7、因为stack1和stack2中的所有元素都相同,所以使用equals()方法比较后返回true。
输出结果如下:
stack1: [1, 2, 3]
stack2: [1, 2]
Are stack1 and stack2 equal? false
---------------------
stack1: [1, 2, 3]
stack2: [1, 2, 3]
Are stack1 and stack2 equal? true
结论
Stack类中重写的equals()方法用于比较两个栈的元素序列是否相同。如果相同,返回true;否则,返回false。在使用equals()方法比较栈时,需要注意元素是按照先进后出的顺序排列的。