7-4 jmu-Java-05集合(泛型)-10-GeneralStack
时间: 2023-07-10 14:08:10 浏览: 159
GeneralStack 是一个泛型类,实现了 Stack 接口。它的目的是提供一个可以存储任何类型元素的栈结构。
以下是 GeneralStack 类的代码:
```java
import java.util.ArrayList;
public class GeneralStack<T> implements Stack<T> {
private ArrayList<T> elements;
public GeneralStack() {
elements = new ArrayList<T>();
}
public void push(T element) {
elements.add(element);
}
public T pop() {
if (elements.isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return elements.remove(elements.size() - 1);
}
public T peek() {
if (elements.isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return elements.get(elements.size() - 1);
}
public boolean isEmpty() {
return elements.isEmpty();
}
public int size() {
return elements.size();
}
}
```
其中,T 表示泛型类型,可以是任何类型。该类使用 ArrayList 来存储元素,提供了 push、pop、peek、isEmpty 和 size 方法来操作栈。
使用 GeneralStack 类时,需要先声明泛型类型,例如:
```java
GeneralStack<Integer> intStack = new GeneralStack<Integer>();
intStack.push(1);
intStack.push(2);
intStack.push(3);
System.out.println(intStack.pop()); // 输出 3
System.out.println(intStack.peek()); // 输出 2
GeneralStack<String> strStack = new GeneralStack<String>();
strStack.push("Hello");
strStack.push("World");
System.out.println(strStack.pop()); // 输出 "World"
System.out.println(strStack.peek()); // 输出 "Hello"
```
阅读全文