我正在学习算法I,并且遇到了名为Bag的数据结构的实现。
http://algs4.cs.princeton.edu/13stacks/Bag.java.html
但是我没有说明为什么要使用这样的Node类:
private static class Node<Item> {
private Item item;
private Node<Item> next;
}
为什么物品在那里?为什么我不能使用:
private class Node {
private Item item;
private Node next;
}
有区别吗?感谢
答案 0 :(得分:0)
是的,有区别。
Node<Item>
使用所谓的通用名称。 Item
不是一个类,它只是任何元素的标识符。
阅读Java源代码,你会看到类似Node<E>
的东西......同样的事情。名字并不重要。
对于另一个,您需要定义Item
类,这是Node可以容纳的唯一数据类型