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.

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 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 partial support, java.text.Collator does not have Quartenary strength support
French accent reordering java.text.RuleBasedCollator
Alternate handling not available
Numeric collation
not available
Case first sort not available
Case level sort not available
Normalization support java.text.Collator
Hiragana before non-ignorable quaternary sort not available
Localized collation
Note: ICU4C/J has a faster collation implementation than java.text.Collator java.text.Collator
Rule-based collation java.text.RuleBasedCollator
Thai reordering java.text.RuleBasedCollator
String comparison java.text.Collator
Sortkey generation
Note: ICU4C/J generates shorter sortkeys than java.text.Collator. java.text.Collator
Sort key merge unicode/ucol.h not available
Sort key upper/lower bound generation not available
Collation elements iterators unicode/ucoleitr.h
unicode/coleitr.h java.text.CollationElementIterator
Language-sensitive string search  
Localized string search unicode/usearch.h
unicode/search.h not available
Overlapping match mode not available
Canonical match mode not available
Break Iterator support not available
Pattern search iteration not available