微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

公开节点类,并在另一个类中保留对它的引用

如何解决公开节点类,并在另一个类中保留对它的引用

我正在寻找使我的矿车对象充当节点的方式,以便它们可以将自己从列表中删除,但是我担心当前的代码设计会造成麻烦。

我认为其原因是因为<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;
    }
}

mineCart类(仅显示相关部分)

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 举报,一经查实,本站将立刻删除。