Fred Daoud ír blogjában arról, hogy összetett és bonyolult adatszerkezetek helyett használjunk HsqlDB-t, pusztán memóriában futó SQL szerverként. Példaképpen az alábbi táblázatot adja meg, amelyben csak annyit tárolunk: ki, melyik országban, milyen kategóriában mennyit költött.

PersonCountryCategoryAmount
PeterItalyFood200.00
PeterGreeceFood150.00
PeterGreeceGifts50.00
LoisItalyClothing650.00
LoisBelgiumFood250.00
ChrisSwitzerlandFood300.00
MegSwitzerlandClothing200.00
StewieAustraliaGifts500.00

Ezt a táblázatot le tudjuk tárolni több megoldással is, például készíthetünk rá egy osztályt, mint entitást és java.util.Vector tárolja a sorokat. Esetleg az oszlopokra készítünk entitást és valamilyen java.util.Map származékban tároljuk le a sorokat. Ha követjük Fred eszmefuttatását, és használunk generikus deklarációt, akkor a valami ilyesmi típusban tarthatjuk a táblázat egy sorát:

Map<Person<Country<Category<Amount>>>>

A példa feladata egyszerű: adjuk meg egy újabb táblázatban, hogy kategóriánként mennyi kiadás történt. Egyszerű? Végig kell mennünk a táblázaton, az egyes kategóriákat le kell tennünk egy újabb Map típusba, értékként pedig a kiadás oszlop megfelelő sorát hozzá kell adnunk. Miért ne használnánk SQL motort erre a feladatra? A HsqlDB képes csak memóriában futni:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");

S az így létrehozott kapcsolaton létrehozzuk a kívánt táblát, beleszórjuk az adatokat, majd kedvünk és lehetőségeink szerint kérdezünk le belőle. A program bezárása során a létrehozott struktúra - mivel memóriában létezett csak: elfelejtődik.