Mislim da TreeMap nije klasa koju treba koristiti za stablo. Meni to izgleda kao
standardni map implementiran kao crveno-crno stablo (slicno kao npr. C++ STL map klasa).
Nije mi poznato da u standardnim java bibliotekama postoji neka struktura tipa stablo.
Ako sam dobro razumeo kakvo ti stablo treba mislim da mozes da koristis java.util.Hashtable ili jednu od klasa koje implementiraju java.util.AbstractHashMap interfejs. Pa onda radis kao sto bi npr. radio u perl-u - imas skup parova (key, value) s tim sto value moze da ti bude opet Hashtable ili atom (tj, ono sto si obelezio kao vrednost u primeru).
Kod obilaska bi za svaki nivo trebalo da pokupis keys (Enumeration object) i onda za svaki od njih potrazis value (Hashtable metod get).
Tip objekta mozes da saznas sa instanceof (primer:
http://www.ergoit.co.uk/instance/Sample1.html). Znaci, opet ista logika kao u perl-u.
Serijalizacija se najjednostavnije radi sa java.io.ObjectInputStream/java.io.ObjectOutputStream - tj. u vecini slucajeva ne moras da pises posebne metode za serijalizaciju objekata - samo implementiras interfejs java.io.Serializable.
Serijalizuju se od datog objekta svi objekti do kojih vode reference (do proizvoljne dubine) a koji implementiraju java.io.Serializable. Ispravno radi i za ciklicne strukture.