为什么像节点- ,而不是一个普通的节点
问题描述:
我正在coursera上的算法我遇到了一个称为袋的数据结构的实现。为什么像节点<Item>,而不是一个普通的节点
http://algs4.cs.princeton.edu/13stacks/Bag.java.html
但是我不undertand为什么使用这样一个节点类:
private static class Node<Item> {
private Item item;
private Node<Item> next;
}
为什么项目在那里?为什么我不能使用:
private class Node {
private Item item;
private Node next;
}
是否有区别?谢谢
答
是的,有区别。
Node<Item>
使用所谓的通用。 Item
不是一个类,它只是任何元素的标识符。
阅读Java源代码,你会看到类似Node<E>
...一样的东西。名称并不重要。
至于其他的,你需要定义一个Item
类,这是唯一的数据类型的节点可容纳
是什么'Item'意味着在非通用的世界给你的背景?我没有看到它可以引入的任何地方,或者它真正代表的东西。你得到的是一个'Node',它包含'Item's,而泛型是一个'Node',可以容纳任何*任何*。 – Makoto