JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.text
클래스 CollationKey

java.lang.Object 
  |
  +--java.text.CollationKey
모든 구현 인터페이스:
Comparable

public final class CollationKey
extends Object
implements Comparable

CollationKey 는 특정의 Collator 오브젝트의 룰의 아래에서 있는 String 를 나타냅니다. 2 개의 CollationKey 를 비교하면(자), 그것들이 나타내는 String 의 상대 순서가 돌려주어집니다. CollationKey 를 사용해 String 를 비교하는 (분)편이 일반적으로 Collator.compare 보다 고속으로. 따라서, 복수의 String 를 몇번이나 비교하는 경우 (예를 들어,String 의 리스트를 소트 하는 경우)에는 CollationKey 를 사용하는 (분)편이 효율적입니다.

CollationKey 를 직접 작성할 수 없습니다. 그것들을 생성하려면 ,Collator.getCollationKey 를 호출할 필요가 있습니다. CollationKey 를 비교하는 경우, 그것들은 같은 Collator 오브젝트로부터 생성하지 않으면 안됩니다.

StringCollationKey 를 생성하기 위해서는 String 전체를 조사해 그것을, 비트 단위로 비교할 수 있는 비트열로 변환할 필요가 있습니다. 이렇게 하면(자), 키가 생성된 후에, 비교가 고속으로 행해집니다. 키를 생성하는 코스트는 String 를 몇번이나 비교할 필요가 있는 경우에는 고속의 비교에 의해 보충할 수가 있습니다. 한편, 비교의 결과는 각각의 String 의 최초의 2 캐릭터로 정해지는 일이 자주 있습니다. 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 와 비교합니다.
 int compareTo (Object  o)
          CollationKey 와 지정된 Object 의 순서를 비교합니다.
 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 오브젝트의 조합 룰이 적용됩니다. 주: 다른 Collator 로 작성한 CollationKey 는 비교할 수 없습니다.

파라미터:
target - 타겟의 CollationKey
반환값:
정수치. 이것이 타겟보다 작으면, 값은 제로보다 작다. 이것이 타겟과 동일하면, 값은 제로. 이것이 타겟보다 크면, 값은 제로보다 큰
관련 항목:
Collator.compare(java.lang.String, java.lang.String)

compareTo

public int compareTo(Object  o)
CollationKey 와 지정된 Object 의 순서를 비교합니다. CollationKey 가 지정된 Object 보다 작은 경우는 부의 정수, 동일한 경우는 0, 큰 경우는 정의 정수를 각각 돌려줍니다.

정의:
인터페이스 Comparable 내의 compareTo
파라미터:
o - 비교 대상의 Object
반환값:
CollationKey 가 지정된 Object 보다 작은 경우는 부의 정수, 동일한 경우는 0, 큰 경우는 정의 정수
예외:
ClassCastException - 지정된 Object 가 CollationKey 가 아닌 경우
도입된 버젼:
1.2
관련 항목:
Comparable

equals

public boolean equals(Object  target)
CollationKey 와 타겟의 CollationKey 가 동일한지 어떤지를 비교합니다. 이러한 키를 작성한 Collator 오브젝트의 조합 룰이 적용됩니다. 주: 다른 Collator 로 작성한 CollationKey 는 비교할 수 없습니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
target - 비교 대상의 CollationKey
반환값:
2 개의 오브젝트가 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
CollationKey 의 해시 코드를 작성합니다. 해시치는 키 자체로부터 계산되는 것에서 만나며, 그 키가 작성된 String 로부터 작성되는 것은 아닙니다. 따라서, x 와 y 가 CollationKey 의 경우, x.equals(y)가 true 이면, x.hashCode(x) == y.hashCode()입니다. 이것에 의해, 해시 테이블로 언어에 의존하는 비교를 실시할 수가 있습니다. 예에 대해서는 CollatinKey 클래스의 설명을 참조해 주세요.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
캐릭터 라인의 조합 순서에 근거하는 해시치
관련 항목:
Object.equals(java.lang.Object) , Hashtable

getSourceString

public String  getSourceString()
이 CollationKey 가 나타내는 String 를 돌려줍니다.


toByteArray

public byte[] toByteArray()
CollationKey 를 비트열로 변환합니다. 2 개의 CollationKey 가 올바르게 비교할 수 있는 경우는 이러한 배열의 각각 대하는 바이트 배열을 비교해도 같은 결과를 얻을 수 있습니다. 바이트 배열에서는 가장 큰 바이트가 최초로 있습니다.


JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.