Ok, è chiaro, però non ho capito come fare.
Cioè entriamo più nel dettaglio. Ho un hashmap<Vertex, LinkedList<Vertex>> dove Vertex è appunto la mia interfaccia. I miei metodi accettano un Vertex v. Se io voglio verificare se il Vertex v passato come parametro è contenuto nella mia hashmap, potrei farlo con hash.containsKey(v). Il problema è che quel Vertex che passo al mio metodo sarà un vertice inserito dall'utente nel main, pertanto verrà istanziato con una new VertexImpl. Ora mi chiedo: la containsKey() funziona se i due tipi sono "diversi"? A quanto pare no. Quindi mi vien da pensare che nonostante entrambi gli oggetti abbiano il campo intero uguale, java li vede diversi, perchè?