0
我試圖在泛型的幫助下使用Java實現RBTree http://en.wikipedia.org/wiki/Red%E2%80%93black_tree,因爲我將需要這個結構在項目的未來部分。RBTree與泛型的實現
我有RBTree類:
public class RBTree<T extends Comparable<T>> { ... }
和RBNode類:
public class RBNode<T extends Comparable<T>>{ ...
private T key;
...}
現在這裏是問題。我有一個Product類,它有一個ProductData對象等等。我需要我的樹來保存有關產品到期日期的信息,並且通過我需要的日期來找到產品。
我現在可以寫我的測試代碼:
ProductDate p = new ProductDate(new ProductData("Jahoda", "12345678", new Date(), new Date(), 555, 10));
ProductDate r = new ProductDate(new ProductData("Mandarinka", "987654321", new Date(), new Date(), 111, 12));
ProductDate d = new ProductDate(new ProductData("Malina", "987654321", new Date(), new Date(), 222, 13));
RBTree<Date> produkty = new RBTree<Date>();
produkty.insert(p.getKey());
produkty.insert(r.getKey());
produkty.insert(d.getKey());
,但在這裏我將失去指向給定的產品。如何防止這一點?
我可以提供我的完整代碼給github,如果是的話。
1.你指的是什麼意思? Java中沒有指針。 2.爲什麼使用新的X(新的X(...))而不是僅僅新的X(...)? – kraskevich 2014-10-12 10:45:50
以及沒有默認指針,但引用,對不起我的壞...我不使用X(新的X(...)),但新的PDate(新的PData)),這是一個區別。 ProductDate是Product類的擴展類,具有ProductData引用。 – 2014-10-12 10:47:50
來自JDK的TreeMap是帶有泛型的紅黑樹實現。 – m3th0dman 2014-10-12 10:58:42