Skip to main content

International Components for Unicode

Collation Functionalities Comparison Chart


This table lists down the differences between the collation functions provided by ICU, ICU4J and JDK.

In the case where ICU and JDK supports the same functionality, ICU has a more updated implementation that is Unicode conformant.

Legend
Public in the current release
Not public or not available in the current release

Return to the main comparison chart.

Functions ICU4C 3.8 ICU4J 3.8 JDK 6
 
Collation support  
Extensible Collator base class unicode/ucol.h
unicode/col.h
com.ibm.icu.text.Collator JDK bug: java.text.CollationKey does not have a public constructor, this causes problems when implementing a subclass of a java.text.Collator
Primary to identical collation strength level com.ibm.icu.text.Collator partial support, java.text.Collator does not have Quartenary strength support
French accent reordering com.ibm.icu.text.RuleBasedCollator java.text.RuleBasedCollator
Alternate handling com.ibm.icu.text.RuleBasedCollator not available
Numeric collation com.ibm.icu.text.RuleBasedCollator
not available
Case first sort com.ibm.icu.text.RuleBasedCollator not available
Case level sort com.ibm.icu.text.RuleBasedCollator not available
Normalization support com.ibm.icu.text.Collator java.text.Collator
Hiragana before non-ignorable quaternary sort com.ibm.icu.text.RuleBasedCollator not available
Localized collation
Note: ICU4C/J has a faster collation implementation than java.text.Collator
com.ibm.icu.text.Collator java.text.Collator
Rule-based collation com.ibm.icu.text.RuleBasedCollator java.text.RuleBasedCollator
Thai reordering com.ibm.icu.text.RuleBasedCollator java.text.RuleBasedCollator
String comparison com.ibm.icu.text.Collator java.text.Collator
Sortkey generation
Note: ICU4C/J generates shorter sortkeys than java.text.Collator.
com.ibm.icu.text.Collator java.text.Collator
Sort key merge unicode/ucol.h com.ibm.icu.text.CollationKey not available
Sort key upper/lower bound generation com.ibm.icu.text.CollationKey not available
Collation elements iterators unicode/ucoleitr.h
unicode/coleitr.h
com.ibm.icu.text.CollationElementIterator java.text.CollationElementIterator
 
Language-sensitive string search  
Localized string search unicode/usearch.h
unicode/search.h
com.ibm.icu.text.SearchIterator not available
Overlapping match mode com.ibm.icu.text.SearchIterator not available
Canonical match mode com.ibm.icu.text.StringSearch not available
Break Iterator support com.ibm.icu.text.SearchIterator not available
Pattern search iteration com.ibm.icu.text.StringSearch not available