public Integer poner(long posible, int cual) { int llave = posicion(posible); if (nodos[llave] != null) { Nodo anterior = nodos[llave]; for (Nodo actual = nodos[llave]; true; actual = actual.siguiente) { if (actual.distancia == posible && actual.c == caso) { return actual.numero = cual; } if (actual.c != caso) { anterior.siguiente = actual.siguiente; } else anterior = actual; if (actual.siguiente == null) { actual.siguiente = new Nodo(posible, cual); break; } } } else { nodos[llave] = new Nodo(posible, cual); } return null; }