【Java版数据结构】初识泛型
泛型是Java中一个非常重要的特性,它允许在定义类、接口、或者方法时,指定一个类型变量(type variable),然后在使用时传入具体的类型。这样可以提高代码的类型安全性和可读性,并在编译时进行类型检查。
以下是一个简单的泛型栈的实现:
public class GenericStack<T> {
private List<T> stack = new ArrayList<>();
public void push(T element) {
stack.add(element);
}
public T pop() {
if (stack.isEmpty()) {
throw new EmptyStackException();
}
return stack.remove(stack.size() - 1);
}
public boolean isEmpty() {
return stack.isEmpty();
}
}
在这个泛型栈的实现中,<T>
是一个类型变量,它可以用任何类型来替换,比如 Integer
、String
或者自定义的类。
泛型可以在方法、接口和类上使用,下面是一个使用泛型方法的例子:
public class Util {
public static <T> void swap(List<T> list, int i, int j) {
T temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
这个方法swap
可以交换任何List
中的元素,无论元素的类型是什么。
泛型的主要目的是提高代码的复用性和类型安全性,它在集合框架中被广泛使用。
评论已关闭