2016-06-19 3 views
0

Как переопределить hashCode() объекта узла Graphstream?Override hashCode() из Graphstream

Я вставляю узлы в HashSet.

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

+0

Ну, есть несколько узлов с одинаковым хэшем. –

+0

Запишите класс-оболочку для 'Node' и предоставите реализации для' hashCode' и 'equals'. Затем используйте 'Set' этого типа вместо' Node'. –

ответ

1

Вы можете наследовать от узла расширить объекты хэш в этом классе с использованием Objects.hash (Object ...). Просто бросить в этот метод, что вы хотите иметь хэшируются вместе ...

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: Не Забыть Равных() замещают!

Смежные вопросы