- java.lang.Object
-
- java.text.CollationKey
-
- All Implemented Interfaces:
-
Comparable<CollationKey>
public abstract class CollationKey extends Object implements Comparable<CollationKey>
ACollationKey
代表一个String
根据一个特定的Collator
对象的规则。 比较两个CollationKey
s返回其代表的String
的相对顺序。 使用CollationKey
比较String
s通常比使用Collator.compare
快。 因此,当String
必须多次比较时,例如当排序String
的列表时。 使用CollationKey
s更有效率。您不能直接创建
CollationKey
。 而是通过调用Collator.getCollationKey
生成它们。 只能比较CollationKey
来自同一生成S-Collator
对象。为
CollationKey
生成String
涉及检查整个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());
- 从以下版本开始:
- 1.1
- 另请参见:
-
Collator
,RuleBasedCollator
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
CollationKey(String source)
CollationKey构造函数。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract int
compareTo(CollationKey target)
将此CollationKey与目标CollationKey进行比较。String
getSourceString()
返回此CollationKey表示的String。abstract byte[]
toByteArray()
将CollationKey转换为位序列。
-
-
-
构造方法详细信息
-
CollationKey
protected CollationKey(String source)
CollationKey构造函数。- 参数
-
source
- 源字符串 - 异常
-
NullPointerException
- 如果source
为空 - 从以下版本开始:
- 1.6
-
-
方法详细信息
-
compareTo
public abstract int compareTo(CollationKey target)
将此CollationKey与目标CollationKey进行比较。 应用了创建这些键的Collator对象的排序规则。 注意:由不同Collator创建的CollationKeys无法比较。- Specified by:
-
compareTo
在接口Comparable<CollationKey>
- 参数
-
target
- 目标CollationKey - 结果
- 返回一个整数值。 如果该值小于目标值,则该值小于零,如果此值和目标值相等,则值为零,如果该值大于目标值,则值大于零。
- 另请参见:
-
Collator.compare(java.lang.String, java.lang.String)
-
getSourceString
public String getSourceString()
返回此CollationKey表示的String。- 结果
- 这个CollationKey的源字符串
-
toByteArray
public abstract byte[] toByteArray()
将CollationKey转换为位序列。 如果两个CollationKey可以合法比较,那么可以比较每个这些密钥的字节数组,以获得相同的结果。 字节数组首先被组织成最高有效字节。- 结果
- CollationKey的字节数组表示
-
-