2016-06-19 17 views
0

Graphstream Node 객체의 hashCode()를 어떻게 재정의합니까?Graphstream의 hashCode() 재정의

노드를 HashSet에 삽입합니다. 당신은 노드에서 상속 할 수

HashSet<Node> set = new HashSet<Node>();

+0

음, 같은 해시를 가진 노드가 여러 개 있습니다. –

+0

'Node'에 대한 래퍼 클래스를 작성하고 거기에'hashCode'와'equals'에 대한 구현을 제공하십시오. 그런 다음'Node' 대신에 그 타입의'Set'을 사용하십시오. –

답변

1

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

편집이 ... 당신이 함께 해시 된 것으로 원하는대로이 방법으로 던져!