From: Reimar Döffinger Date: Wed, 15 Apr 2020 20:17:55 +0000 (+0200) Subject: Optimize comparisons for TreeMap. X-Git-Url: http://gitweb.fperrin.net/?p=DictionaryPC.git;a=commitdiff_plain;h=0b4554342a9376a43ce9373ea6b3b6c8f50945e2 Optimize comparisons for TreeMap. --- diff --git a/src/com/hughes/android/dictionary/engine/IndexBuilder.java b/src/com/hughes/android/dictionary/engine/IndexBuilder.java index 680cf4a..d37f9d1 100644 --- a/src/com/hughes/android/dictionary/engine/IndexBuilder.java +++ b/src/com/hughes/android/dictionary/engine/IndexBuilder.java @@ -34,12 +34,12 @@ public class IndexBuilder { public final Index index; final Set stoplist; - final SortedMap tokenToData; + final SortedMap tokenToData; IndexBuilder(final DictionaryBuilder dictionaryBuilder, final String shortName, final String longName, final Language language, final String normalizerRules, final Set stoplist, final boolean swapPairEntries) { this.dictionaryBuilder = dictionaryBuilder; index = new Index(dictionaryBuilder.dictionary, shortName, longName, language, normalizerRules, swapPairEntries, stoplist); - tokenToData = new TreeMap<>(index.getSortComparator()); + tokenToData = new TreeMap<>(new FastNormalizeComparator(index.getSortComparator())); this.stoplist = stoplist; } @@ -125,10 +125,11 @@ public class IndexBuilder { } public TokenData getOrCreateTokenData(final String token) { - TokenData tokenData = tokenToData.get(token); + final FastCompareString c = new FastCompareString(token); + TokenData tokenData = tokenToData.get(c); if (tokenData == null) { tokenData = new TokenData(token); - tokenToData.put(token, tokenData); + tokenToData.put(c, tokenData); } return tokenData; }