mtbc: maze I (white-red)
[personal profile] mtbc
For a new capability in OMERO.blitz I have a set of string prefix transformations where if a string starts with one then that prefix should be replaced by its partner. Abstractly, this seems easy to implement efficiently: for example, I can store the prefixes in a balanced search tree then, when I have a string whose prefix may need substituting, I can search for it in the tree and that largely gets me to its applicable prefix, if any.

I wondered if the Java standard libraries hand this to me on a plate but it took me some sleep to see how. Eventually I realized that I can roll my own Comparator that returns 0 (for is equal to) if startsWith and use it in a TreeMap that has from prefixes as keys with the same from and its to prefix together as each value. This approach violates equals but that is fine, it works nicely.

Profile

mtbc: photograph of me (Default)
Mark T. B. Carroll

January 2026

S M T W T F S
    123
456789 10
11121314151617
18 192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 20th, 2026 11:52 pm
Powered by Dreamwidth Studios