secondo me questa parte di codice non viene mai eseguita
codice:Node temp; temp = minValue(t.right);//--------http://www.java2blog.com/2016/04/how-to-delete-node-from-binary-search.html t.setKey(temp.getKey()); t.setValue(temp.getValue()); System.out.println(t.getKey()); System.out.println(temp.getKey()); remove((Comparable)temp.getKey(), t.right); } return t;
Perché ad ogni iterazione ritorni indietro.
Se t==null return
se t.getKey() < 0 richiami ricorsivamente la funzione
se t.getKey() > 0 richiami ricorsivamente la funzione
in tutti gli altri casi
se t.right == null return qualcosa
se t.left == null return qualcosa
quindi tu non scendi mai nella funzione che ti crea il nodo.
Credo che sarebbe meglio prima studiare a fondo il sistema degli alberi binari invece che scopiazzare a dx e sx del codice che alla fine non capisci nemmeno tu.
Ciao.