In reply to:

Collator = !fast by the way


Yes, that's to be expected, I'm afraid. Collator does provide getCollationKey() which can be used to avoid having to re-computed the comparison each time.

What you do is compute the CollationKey for the field the first time it's needed, and then use its compareTo() method for all future comparisons. CollationKey.compareTo() is supposed to be much faster than Collator.compare(), whose documentation says:
In reply to:

For a one time comparison, this method has the best performance. If a given String will be involved in multiple comparisons, CollationKey.compareTo has the best performance. See the CollationKey class description for an example using CollationKeys.


_________________________
Toby Speight
030103016 (80GB Mk2a, blue)
030102806 (0GB Mk2a, blue)