java中的stack
时间: 2024-06-12 09:10:41 浏览: 105
java实现stack
Java中的Stack是一种后进先出(LIFO)的数据结构,它继承自Vector类,实现了栈的所有功能。Stack类提供了push()、pop()、peek()等方法,可以用来实现简单的表达式求值、括号匹配等功能。
push()方法用于将元素压入栈顶,pop()方法用于弹出栈顶元素并返回该元素,peek()方法用于返回栈顶元素但不弹出。
以下是一个使用Stack类实现括号匹配的示例代码:
```java
public static boolean isBalanced(String str) {
Stack<Character> stack = new Stack<>();
for (char c : str.toCharArray()) {
if (c == '(' || c == '[' || c == '{') {
stack.push(c);
} else if (c == ')' && !stack.isEmpty() && stack.peek() == '(') {
stack.pop();
} else if (c == ']' && !stack.isEmpty() && stack.peek() == '[') {
stack.pop();
} else if (c == '}' && !stack.isEmpty() && stack.peek() == '{') {
stack.pop();
} else {
return false;
}
}
return stack.isEmpty();
}
```
该方法接受一个字符串参数,判断其中的括号是否匹配。如果匹配则返回true,否则返回false。
阅读全文