为什么像节点,而不是一个普通的节点

问题描述:

我正在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; 
} 

是否有区别?谢谢

+0

是什么'Item'意味着在非通用的世界给你的背景?我没有看到它可以引入的任何地方,或者它真正代表的东西。你得到的是一个'Node',它包含'Item's,而泛型是一个'Node',可以容纳任何*任何*。 – Makoto

是的,有区别。

Node<Item>使用所谓的通用。 Item不是一个类,它只是任何元素的标识符。

阅读Java源代码,你会看到类似Node<E> ...一样的东西。名称并不重要。

至于其他的,你需要定义一个Item类,这是唯一的数据类型的节点可容纳