|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
java.lang.Object | +--java.text.Collator
Collator
클래스는 로케일에 의존하는 String
의 비교를 실시합니다. 이 클래스를 사용해, 자연 언어 텍스트의 검색과 소트 routine를 구축합니다.
Collator
는 추상 base class입니다. 서브 클래스에 의해, 특정의 조합 방법을 구현합니다. 현재는 1 개의 서브 클래스 RuleBasedCollator
가 Java 2 플랫폼에서 제공되고 있어 광범위의 언어에 적용 가능합니다. 한층 더 특수한 필요성이 있는 경우에는 다른 서브 클래스를 작성할 수 있습니다.
로케일에 의존하는 것 외의 클래스와 같이, static 팩토리 메소드 getInstance
를 사용해, 어느 로케일에 대한 적절한 Collator
오브젝트를 얻을 수 있습니다. 특정의 조합 방법의 상세를 이해하거나 그방법을 수정하거나 하는 경우에는 Collator
의 서브 클래스를 보는 것만으로 충분합니다.
다음의 예는 디폴트 로케일의 Collator
를 사용해 2 개의 캐릭터 라인을 비교하는 방법을 나타낸 것입니다.
// Compare two strings in the default locale Collator myCollator = Collator.getInstance(); if( myCollator.compare("abc", "ABC") < 0 ) System.out.println("abc is less than ABC"); else System.out.println("abc is greater than or equal to ABC");
Collator
의 「강함」속성을 설정하면, 비교로 중요라고 보여지는 상위 레벨을 결정할 수 있습니다. 4 개의 레벨 PRIMARY
,SECONDARY
,TERTIARY
,IDENTICAL
가 있습니다. 어느 언어의 기능에 어느 레벨을 할당할까는 정확하게는 로케일에 따라서 다릅니다. 예를 들어, 체코어에서는 "e" 와 "f" 는 주요한 (primary) 상위라고 보여집니다만, "e" 와 "ê" 는 2 차적 (secondary), "e" 와 "E" 는 3 차적 (tertiary)인 상위라고 보여져 "e" 와 "e" 는 동일 (identical)이라고 보여집니다. 다음의 예는 미국 영어로 대문자 소문자의 차이와 엑센트를 무시하는 방법을 나타낸 것입니다.
//Get the Collator for US English and set its strength to PRIMARY Collator usCollator = Collator.getInstance(Locale.US); usCollator.setStrength(Collator.PRIMARY); if( usCollator.compare("abc", "ABC") == 0 ) { System.out.println("Strings are equivalent"); }
String
를 1 회만 비교하는 경우는 compare
메소드를 사용하면 최선의 퍼포먼스를 얻을 수 있습니다. 그러나,String
의 리스트를 소트 하는 경우에는 통상,String
를 몇번이나 비교하지 않으면 안됩니다. 이 경우는 CollationKey
가 좋은 퍼포먼스를 얻을 수 있습니다. CollationKey
클래스에서는 다른 CollationKey
와 비트 단위로 비교할 수 있게,String
가 비트열에 변환됩니다. CollationKey
는 그 String
의 Collator
오브젝트에 의해 작성됩니다.
주: 다른 Collator
의 CollationKey
는 비교할 수 없습니다. CollationKey
를 사용하는 예에 대해서는 CollationKey
의 클래스의 설명을 참조해 주세요.
RuleBasedCollator
,
CollationKey
,
CollationElementIterator
,
Locale
필드의 개요 | |
static int |
CANONICAL_DECOMPOSITION
분해 모드치입니다. |
static int |
FULL_DECOMPOSITION
분해 모드치입니다. |
static int |
IDENTICAL
Collator 의 강함을 나타내는 값입니다. |
static int |
NO_DECOMPOSITION
분해 모드치입니다. |
static int |
PRIMARY
Collator 의 강함을 나타내는 값입니다. |
static int |
SECONDARY
Collator 의 강함을 나타내는 값입니다. |
static int |
TERTIARY
Collator 의 강함을 나타내는 값입니다. |
생성자의 개요 | |
protected |
Collator ()
디폴트의 constructor 입니다. |
메소드의 개요 | |
Object |
clone ()
Cloneable 를 오버라이드(override) 합니다. |
int |
compare (Object o1,
Object o2)
순서부를 위해서(때문에) 2 개의 인수를 비교합니다. |
abstract int |
compare (String source,
String target)
Collator 의 조합 룰에 따라, 소스 캐릭터 라인과 타겟 캐릭터 라인을 비교합니다. |
boolean |
equals (Object that)
2 개의 Collator 가 동일한지 어떤지를 비교합니다. |
boolean |
equals (String source,
String target)
Collator 의 조합 룰에 따라 2 개의 캐릭터 라인이 동일한지 어떤지를 비교하기 위한 간이 메소드입니다. |
static Locale [] |
getAvailableLocales ()
Collator 가 도입되고 있는 로케일 세트를 취득합니다. |
abstract CollationKey |
getCollationKey (String source)
String 를, 다른 CollationKey 와 비트 단위로 비교 가능한 비트열로 변환합니다. |
int |
getDecomposition ()
Collator 의 분해 모드를 취득합니다. |
static Collator |
getInstance ()
현재의 디폴트 로케일에 대한 Collator 를 취득합니다. |
static Collator |
getInstance (Locale desiredLocale)
필요한 로케일의 Collator 를 취득합니다. |
int |
getStrength ()
Collator 의 강함 속성을 돌려줍니다. |
abstract int |
hashCode ()
Collator 의 해시 코드를 생성합니다. |
void |
setDecomposition (int decompositionMode)
Collator 의 분해 모드를 설정합니다. |
void |
setStrength (int newStrength)
Collator 의 강함 속성을 돌려줍니다. |
클래스 java.lang. Object 에서 상속받은 메소드 |
finalize , getClass , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
public static final int PRIMARY
setStrength(int)
,
getStrength()
,
정수 필드치 public static final int SECONDARY
setStrength(int)
,
getStrength()
,
정수 필드치 public static final int TERTIARY
setStrength(int)
,
getStrength()
,
정수 필드치 public static final int IDENTICAL
public static final int NO_DECOMPOSITION
getDecomposition()
,
setDecomposition(int)
,
정수 필드치 public static final int CANONICAL_DECOMPOSITION
CANONICAL_DECOMPOSITION 는 「Unicode Technical Report #15」로 설명되고 있는 Normalization Form D 에 상당합니다.
getDecomposition()
,
setDecomposition(int)
,
정수 필드치 public static final int FULL_DECOMPOSITION
FULL_DECOMPOSITION 는 「Unicode Technical Report #15」로 설명되고 있는 Normalization Form KD 에 상당합니다.
getDecomposition()
,
setDecomposition(int)
,
정수 필드치 생성자의 상세 |
protected Collator()
getInstance()
메소드의 상세 |
public static Collator getInstance()
Locale.getDefault()
public static Collator getInstance(Locale desiredLocale)
desiredLocale
- 필요한 로케일
Locale
,
ResourceBundle
public abstract int compare(String source, String target)
1 회만의 비교이면, 이 메소드의 퍼포먼스가 가장 우수합니다. 지정된 캐릭터 라인으로 여러 차례의 비교가 필요하면, CollationKey.compareTo 의 퍼포먼스가 가장 우수합니다. CollationKey 의 사용예에 대해서는 Collator 클래스의 설명을 참조해 주세요.
source
- 소스 캐릭터 라인target
- 타겟 캐릭터 라인
CollationKey
,
getCollationKey(java.lang.String)
public int compare(Object o1, Object o2)
이 구현은 단순하게 다음의 코드를 돌려줍니다. compare((String) o1, (String) o2)
Comparator
내의 compare
o1
- 비교 대상의 최초의 오브젝트o2
- 비교 대상의 2 번째의 오브젝트
ClassCastException
- 인수를 String 에 캐스트 할 수 없는 경우Comparator
public abstract CollationKey getCollationKey(String source)
source
- 조합 키로 변환하는 캐릭터 라인
CollationKey
,
compare(java.lang.String, java.lang.String)
public boolean equals(String source, String target)
source
- 비교 대상의 소스 캐릭터 라인target
- 비교 대상의 타겟 캐릭터 라인
compare(java.lang.String, java.lang.String)
public int getStrength()
setStrength(int)
,
PRIMARY
,
SECONDARY
,
TERTIARY
,
IDENTICAL
public void setStrength(int newStrength)
IllegalArgumentException
- 새로운 강함을 나타내는 값이 PRIMARY, SECONDARY, TERTIARY, IDENTICAL 의 어떤 것도 아닌 경우getStrength()
,
PRIMARY
,
SECONDARY
,
TERTIARY
,
IDENTICAL
public int getDecomposition()
분해 모드에는 다음의 3 개의 값이 있습니다.
setDecomposition(int)
,
NO_DECOMPOSITION
,
CANONICAL_DECOMPOSITION
,
FULL_DECOMPOSITION
public void setDecomposition(int decompositionMode)
IllegalArgumentException
- 지정된 값이 유효한 분해 모드가 아닌 경우getDecomposition()
,
NO_DECOMPOSITION
,
CANONICAL_DECOMPOSITION
,
FULL_DECOMPOSITION
public static Locale [] getAvailableLocales()
public Object clone()
Object
내의 clone
Cloneable
public boolean equals(Object that)
Comparator
내의 equals
Object
내의 equals
that
- 비교 대조의 Collator
Object.equals(java.lang.Object)
,
Object.hashCode()
public abstract int hashCode()
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
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.