2017-02-04 41 views
0

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

回答

0

是的,有區別。

Node<Item>使用所謂的通用。 Item不是一個類,它只是任何元素的標識符。

閱讀Java源代碼,你會看到類似Node<E> ...一樣的東西。名稱並不重要。

至於其他的,你需要定義一個Item類,這是唯一的數據類型的節點可容納

相關問題