Mimochodem, na tohle jsou docela dobré knížky 50 let staré o datových strukturách a jejich použití. A je to věc, kterou by měl znát každý programátor už jenom proto, aby použil vhodnou strukturu pro vhodný účel. Mapa (slovník, hash tabulka atd.) je vhodná pro rychlé vyhledávání podle klíče ("mám klíč X, chci najít jemu příslušející položku"), ale nehodí se pro porovnávání mezi hodnotami (ať už klíče nebo hodnot). Na to by se ti hodilo spíš seřazené pole (TArray, TList) nebo strom (mají Delphi v defaultu nějakou použitelnou stromovou strukturu?) nebo třeba halda (pokud chceš najít "největší" položku, zpracovat ji a pak se vrhnout na další "největší" položku). Pokud potřebuješ operací víc, zvaž použití víc struktur současně (jako různé "indexy" pro různé účely).