Java RBTree的泛型实现
我正试图在泛型的帮助下用Java实现RBTree,因为我需要这个结构在项目的未来部分出现 我有一节课:Java RBTree的泛型实现,java,generics,Java,Generics,我正试图在泛型的帮助下用Java实现RBTree,因为我需要这个结构在项目的未来部分出现 我有一节课: public class RBTree<T extends Comparable<T>> { ... } public class RBNode<T extends Comparable<T>>{ ... private T key; ...} 和RBNode类: public class RBTree<T extends Comp
public class RBTree<T extends Comparable<T>> { ... }
public class RBNode<T extends Comparable<T>>{ ...
private T key;
...}
和RBNode类:
public class RBTree<T extends Comparable<T>> { ... }
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提供完整的代码。如果您希望它用作映射,而不是集合,也就是说,可以通过键获取值,您可以稍微更改RBNode类,以便它同时存储:键和值。 它可以是这样的:
public class RBNode<K extends Comparable<K>, V> {
K key;
V value;
...
}
然后,如果要获取给定日期的产品,则应将ProductDate实例用作键,将ProductData实例用作值。1。你说的指针是什么意思?Java中没有指针。2.为什么要使用新的X新的X。。。而不仅仅是新的X…?不是默认指针,而是引用,抱歉我的错误。。。我不使用新的X。。。但是new PData new PData,这是一个区别。ProductDate是Product类的扩展类,它有ProductData引用。JDK的TreeMap是一个带有泛型的红黑树实现。是的,@m3th0dman,但我相信这对我的老师不起作用。