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 (개체 ...)를 사용하여이 클래스의 객체의 해시를 확장합니다. (그나마 '같음을 잊지) 오버라이드 (override) : 그냥
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
편집이 ... 당신이 함께 해시 된 것으로 원하는대로이 방법으로 던져!
음, 같은 해시를 가진 노드가 여러 개 있습니다. –
'Node'에 대한 래퍼 클래스를 작성하고 거기에'hashCode'와'equals'에 대한 구현을 제공하십시오. 그런 다음'Node' 대신에 그 타입의'Set'을 사용하십시오. –