|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.text
类 CollationKey
java.lang.Object java.text.CollationKey
- 所有已实现的接口:
- Comparable<CollationKey>
-
public final class CollationKey
- extends Object
- implements Comparable<CollationKey>
CollationKey
表示遵守特定 Collator
对象规则的 String
。比较两个 CollationKey
将返回它们所表示的 String
的相对顺序。使用 CollationKey
来比较 String
通常比使用 Collator.compare
更快。因此,当必须多次比较 String
时(例如,对一个 String
列表进行排序),使用 CollationKey
会更高效。
不能直接创建 CollationKey
。而是通过调用 Collator.getCollationKey
来生成。只能比较同一个 Collator
对象生成的 CollationKey
。
为一个 String
生成 CollationKey
涉及到检查整个 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() );
- 另请参见:
-
Collator
,RuleBasedCollator
方法摘要 | |
---|---|
int |
compareTo(CollationKey target) 比较此 CollationKey 与目标 CollationKey。 |
boolean |
equals(Object target) 比较此 CollationKey 与目标 CollationKey 的相等性。 |
String |
getSourceString() 返回此 CollationKey 表示的 String。 |
int |
hashCode() 创建此 CollationKey 的哈希码。 |
byte[] |
toByteArray() 将 CollationKey 转换成位序列。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
compareTo
public int compareTo(CollationKey target)
- 比较此 CollationKey 与目标 CollationKey。创建这些键的 Collator 对象的 collation 规则将被应用。注:不能比较由不同 Collator 对象创建的 CollationKey。
-
- 指定者:
-
接口
Comparable<CollationKey>
中的compareTo
-
- 参数:
-
target
- 目标 CollationKey - 返回:
- 返回一个整数值。如果此 CollationKey 小于目标 CollationKey,则值小于零;如果此 CollationKey 与目标 CollationKey 相等,则值等于零;如果此 CollationKey 大于目标 CollationKey,则值大于零。
- 另请参见:
-
Collator.compare(java.lang.String, java.lang.String)
equals
public boolean equals(Object target)
- 比较此 CollationKey 与目标 CollationKey 的相等性。创建这些键的 Collator 对象的 collation 规则将被应用。注:不能比较由不同 Collator 对象创建的 CollationKey。
-
- 参数:
-
target
- 要比较的 CollationKey。 - 返回:
- 如果两个对象相等,则返回 true;否则返回 false。
- 另请参见:
-
Object.hashCode()
,Hashtable
hashCode
public int hashCode()
- 创建此 CollationKey 的哈希码。哈希值根据键本身计算,而不是根据创建该键的 String 计算。因此,如果 x 和 y 为 CollationKey,且 x.equals(y) 为 true,则 x.hashCode(x) == y.hashCode()。这允许在哈希表中进行与语言相关的比较。有关例子,请参见 CollatinKey 类描述。
-
- 返回:
- 基于字符串的 collation 排序的哈希值。
- 另请参见:
-
Object.equals(java.lang.Object)
,Hashtable
getSourceString
public String getSourceString()
- 返回此 CollationKey 表示的 String。
-
-
toByteArray
public byte[] toByteArray()
- 将 CollationKey 转换成位序列。如果两个 CollationKey 可以进行合法的比较,则可以比较每个键的字节数组,其结果相同。字节数组从最高有效字节开始组织。
-
-
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |