JavaTM 2 Platform
Standard Ed. 6

java.text
類別 CollationKey

java.lang.Object
  繼承者 java.text.CollationKey
所有已實作的介面:
Comparable<CollationKey>

public abstract 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

建構子摘要
protected CollationKey(String source)
          CollationKey 建構子。
 
方法摘要
abstract  int compareTo(CollationKey target)
          比較此 CollationKey 與目標 CollationKey。
 String getSourceString()
          返回此 CollationKey 表示的 String。
abstract  byte[] toByteArray()
          將 CollationKey 轉換成位序列。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

CollationKey

protected CollationKey(String source)
CollationKey 建構子。

參數:
source - - 源字元串。
拋出:
NullPointerException - 如果 source 為 null。
從以下版本開始:
1.6
方法詳細資訊

compareTo

public abstract 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)

getSourceString

public String getSourceString()
返回此 CollationKey 表示的 String。


toByteArray

public abstract byte[] toByteArray()
將 CollationKey 轉換成位序列。如果兩個 CollationKey 可以進行合法的比較,則可以比較每個鍵的位元組陣列,其結果相同。位元組陣列從最高有效位元組開始組織。


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only