FuzzyLog gracias por responder, resulta que me faltaban estos:
Código Java:
Ver original/*
sólo con este ya se arreglaba mi problema, porque cuando quería obtener el color de una entrada cual fuera
me pateaba porque era nulo, ya con esto es indiferente
*/
private boolean colorOf(Entry<K,V> p) {
return (p == null ? BLACK : p.color);
}
//el resto está por prolijidad
private Entry<K,V> parentOf(Entry<K,V> p) {
return (p == null ? null: p.parent);
}
private void setColor(Entry<K,V> p, boolean c) {
if (p != null)
p.color = c;
}
private Entry<K,V> leftOf(Entry<K,V> p) {
return (p == null) ? null: p.left;
}
private Entry<K,V> rightOf(Entry<K,V> p) {
return (p == null) ? null: p.right;
}
Con implementar eso todo mi problema se solucionó, subí el código para github por si alguien le interesa:
TreeMapCasero
Entre ayer y hoy pensé que hasta ahora tengo lon que necesito para poder avanzar con lo que quiero hacer pero podría intentar simular todo su comportamiento para ver cómo queda, lo mío será aparte de esto, sólo porque me interesó ver cómo quedará.
Necesitaré que me digan que testeos puedo hacer para verificar el funcionamiento de este árbol casero además de agregar lo que tenga que agregar al implementar SortedMap y posteriormente NavigableMap.
espero sus respuestas y saludos.