public abstract class CollationKey
extends Object
implements Comparable<CollationKey>
java.lang.Object | |
↳ | java.text.CollationKey |
甲CollationKey
表示String
下一个特定的规则Collator
对象。 比较两个CollationKey
将返回它们所代表的String
的相对顺序。 使用CollationKey
来比较String
通常比使用Collator.compare
快。 因此,当必须多次比较String
时,例如当对String
列表进行排序时。 使用CollationKey
更有效率。
您无法直接创建CollationKey
。 相反,通过调用Collator.getCollationKey
生成它们。 只能比较CollationKey
来自同一生成S- Collator
对象。
为CollationKey
生成String
包括检查整个String
并将其转换为可按位进行比较的一系列位。 这可以在生成密钥后快速进行比较。 当需要多次比较String
时,生成密钥的成本会以更快的比较收回。 另一方面,比较的结果通常由每个String
的前几个字符String
。 Collator.compare
只检查尽可能多的字符,这样可以在进行单个比较时更快。
以下示例显示了如何使用 CollationKey
对 String
的列表进行排序。
// Create an array of CollationKeys for the Strings to be sorted. Collator myCollator = Collator.getInstance(); CollationKey[] keys = new CollationKey[3]; keys[0] = myCollator.getCollationKey("Tom"); keys[1] = myCollator.getCollationKey("Dick"); keys[2] = myCollator.getCollationKey("Harry"); sort( keys );
//...
// Inside body of sort routine, compare keys this way if( keys[i].compareTo( keys[j] ) > 0 ) // swap keys[i] and keys[j]
//...
// Finally, when we've returned from sort. System.out.println( keys[0].getSourceString() ); System.out.println( keys[1].getSourceString() ); System.out.println( keys[2].getSourceString() );
也可以看看:
Protected constructors |
|
---|---|
CollationKey(String source) CollationKey构造函数。 |
Public methods |
|
---|---|
abstract int |
compareTo(CollationKey target) 将此CollationKey与目标CollationKey进行比较。 |
String |
getSourceString() 返回此CollationKey表示的字符串。 |
abstract byte[] |
toByteArray() 将CollationKey转换为一系列位。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.lang.Comparable
|
CollationKey (String source)
CollationKey构造函数。
Parameters | |
---|---|
source |
String : - the source string. |
Throws | |
---|---|
NullPointerException |
if source is null. |
int compareTo (CollationKey target)
将此CollationKey与目标CollationKey进行比较。 应用创建这些键的Collator对象的归类规则。 注意:由不同校稿人创建的校对键无法比较。
Parameters | |
---|---|
target |
CollationKey : target CollationKey |
Returns | |
---|---|
int |
Returns an integer value. Value is less than zero if this is less than target, value is zero if this and target are equal and value is greater than zero if this is greater than target. |
也可以看看:
String getSourceString ()
返回此CollationKey表示的字符串。
Returns | |
---|---|
String |
byte[] toByteArray ()
将CollationKey转换为一系列位。 如果两个CollationKeys可以合法比较,那么可以比较每个键的字节数组以获得相同的结果。 字节数组首先组织最重要的字节。
Returns | |
---|---|
byte[] |