如何解决公开节点类,并在另一个类中保留对它的引用
我正在寻找使我的矿车对象充当节点的方式,以便它们可以将自己从列表中删除,但是我担心当前的代码设计会造成麻烦。
我认为其原因是因为<T extends mineCart>
与<mineCart>
和public class MyCustomLinkedList<T extends mineCart> implements Iterable<T> {
//... your typical list methods (e.g. add/remove etc)
public static class Node<T> {
private T item;
private Node<T> prev,next;
public Node(T item,Node<T> prev,Node<T> next) {
this.item = item;
this.prev = prev;
this.next = next;
}
}
}
不同。
我不是在寻找有关如何编写remove方法的答案,而是在寻找解决方案,以便mineCart对象可以像一个节点一样工作。
希望获得一些有关如何解决此问题的建议。
public abstract class mineCart implements Comparable<mineCart> {
public mineCart nextCart;
public mineCart prevCart;
public mineCart getNextmineCart() {
// and then do something like this:
// return this.next;
// or return nextCart;
}
}
cd packageA
npm link
cd packageB
npm link packageA
// Now I have link packageB as well,so that I can use in packageC. so I did below
cd packageB
npm link
// Above command throws error saying packageA not found
解决方法
要让MineCart从列表中删除自己,请执行以下操作:
public abstract class MineCart implements Comparable<MineCart> {
public void remove() {
prevCart.nextCart=nextCart;
}
}
之前:
[cart1] - [cart2] - [cart3]
cart2.remove()
之后:
[cart1] - [cart3]
[cart2]
由于MineCart知道其邻居,因此您不需要Node类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。