0
Graphstream NodeオブジェクトのhashCode()をオーバーライドするにはどうすればよいですか?GraphstreamのhashCode()をオーバーライドします
私はノードをHashSetに挿入しています。
HashSet<Node> set = new HashSet<Node>();
Graphstream NodeオブジェクトのhashCode()をオーバーライドするにはどうすればよいですか?GraphstreamのhashCode()をオーバーライドします
私はノードをHashSetに挿入しています。
HashSet<Node> set = new HashSet<Node>();
あなたはObjects.hash(オブジェクト...)を使用して、このクラスでハッシュオブジェクトを拡張するためにノードから継承することができます。ちょうどあなたが一緒にハッシュされているようにしたいものは何でも、この方法に投げる...
class MyNode extends Node {
// whatever floats you boat here
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), other);
}
@Override
public boolean equals(Object o) {
// hashCode() and equals() overrides should always appear together
}
}
はたぶん見here
EDITていますいけない」イコール()のオーバーライドを忘れて!
まあ、同じハッシュを持つ複数のノードがあります。 –
'Node'のラッパークラスを記述し、そこに' hashCode'と 'equals'の実装を提供します。次に、 'Node'の代わりにその型の' Set'を使います。 –