stack<character> Java
时间: 2023-06-12 09:05:17 浏览: 57
在 Java 中,可以通过使用内置的 `java.util.Stack` 类来实现堆栈。但是,由于此类已经过时,建议使用 `java.util.Deque` 接口的实现类 `java.util.LinkedList` 来代替。
以下是使用 `LinkedList` 实现堆栈的示例代码:
```java
import java.util.LinkedList;
public class Stack<Character> {
private LinkedList<Character> list = new LinkedList<>();
// 将元素推入堆栈
public void push(Character c) {
list.addFirst(c);
}
// 从堆栈中弹出元素
public Character pop() {
if (list.isEmpty()) {
throw new java.util.NoSuchElementException();
}
return list.removeFirst();
}
// 获取堆栈顶部的元素,但不会将其弹出
public Character peek() {
if (list.isEmpty()) {
throw new java.util.NoSuchElementException();
}
return list.getFirst();
}
// 判断堆栈是否为空
public boolean isEmpty() {
return list.isEmpty();
}
// 获取堆栈中的元素数量
public int size() {
return list.size();
}
}
```
该堆栈实现使用 `LinkedList` 存储元素,`push` 方法将元素添加到列表的开头,`pop` 方法从列表的开头删除元素并返回它,`peek` 方法返回列表的开头元素但不删除它。`isEmpty` 方法检查列表是否为空,`size` 方法返回列表中元素的数量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)