为下一个参考添加额外字段

时间:2015-11-26 20:22:19

标签: java reference field

我正在尝试修改此类以包含下一个引用的额外字段。有什么想法吗?

 package project2;

 public interface Entry<K,V> {
 K getKey();
 V getValue();
}

我正在尝试修改chainhashmap以执行与哈希映射相同的行为。

1 个答案:

答案 0 :(得分:0)

不确定您要问的是什么,但这可能会有所帮助。

public final class Pair<L, R> {

    private L left;
    private R right;

    public Pair() {
        this(null, null);
    }

    public Pair(L initLeft, R initRight) {
        left = initLeft;
        right = initRight;
    }

    public synchronized L getLeft() {
        return left;
    }

    public synchronized R getRight() {
        return right;
    }

    public synchronized void setLeft(L newLeft) {
        left = newLeft;
    }

    public synchronized void setRight(R newRight) {
        right = newRight;
    }

    @Override
    public synchronized boolean equals(Object other) {
        if (other == null)
            return false;
        if (other instanceof Pair) {
            Pair<?, ?> otherPair = (Pair<?, ?>) other;
            return ((this.left == otherPair.left
                    || (this.left != null && otherPair.left != null && this.left.equals(otherPair.left)))
                    && (this.right == otherPair.right
                            || (this.right != null && otherPair.right != null && this.right.equals(otherPair.right))));
        }
        return false;
    }

    @Override
    public synchronized String toString() {
        return "(" + left.toString() + "," + right.toString() + ")";
    }

}

您可以使用Pair作为地图条目中的值,left作为实际值,right作为您想要的next