在Java中,引用類型和泛型可以配合使用來實現更加靈活和安全的數據結構和算法。下面是一些示例:
class Node<T> {
private T data;
private Node<T> next;
public Node(T data) {
this.data = data;
this.next = null;
}
// 省略其他方法
}
在這個示例中,Node類使用泛型T來定義數據類型,可以在創建Node對象時指定具體的數據類型。
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
for(String str : list) {
System.out.println(str);
}
在這個示例中,使用泛型List
class Stack<T> {
private List<T> stack = new ArrayList<>();
public void push(T data) {
stack.add(data);
}
public T pop() {
if(stack.isEmpty()) {
throw new EmptyStackException();
}
return stack.remove(stack.size() - 1);
}
}
在這個示例中,使用泛型T來定義Stack類中元素的數據類型,使得Stack類可以存儲任意類型的元素。
總的來說,引用類型和泛型可以配合使用來提高代碼的靈活性和安全性,使得代碼更加易于維護和擴展。