Ma devi fare una lista ordinata o un albero binario?
Perchè la cosa è un pochino differente almeno nella formulazione delle classi.

Vedendo così io propenderei per la seconda soluzione anche se non capisco quali metodi vorresti implementare, per inserire, eliminare o modificare i nodi di una lista o di un albero non serve reimplementare metodi della classe java.util ti basta implementare di tuo pugno un paio di metodi nemmeno troppo complicati nella classe principale in cui hai il main.

Te l'ho detto, se vuoi un esempio banale di come costruire e gestire una lista di oggetti potrei inviarti un piccolo programmino che mi è capitato di fare un po' di tempo fa per un esame all'università, magari ti è di aiuto nel capire come fare.
Anche perchè dipende esattamente nei dettagli cosa ti è stato chiesto di fare!!

Ciao.