Spec-Zone.ru › OpenJDK 25

Класс CollationKey

java.lang.Object
java.text.CollationKey
Все реализуемые интерфейсы:
Comparable<CollationKey>
public abstract class CollationKey extends Object implements Comparable<CollationKey>
CollationKey представляет String в соответствии с правилами конкретного объекта Collator. Сравнение двух CollationKey возвращает относительный порядок представляемых ими String. Использовать CollationKey для сравнения String обычно быстрее, чем использовать Collator.compare. Поэтому, когда String нужно сравнивать несколько раз, например при сортировке списка String, эффективнее использовать CollationKey.

Нельзя создавать CollationKey напрямую. Вместо этого создавайте их, вызывая Collator.getCollationKey. Сравнивать можно только CollationKey, созданные одним и тем же объектом Collator.

Создание CollationKey для 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

Краткое описание конструкторов

CollationKey(String source)
Модификатор Конструктор Описание
protected
Конструктор CollationKey.

Краткое описание методов

Модификатор и тип Метод Описание
abstract int compareTo(CollationKey target)
Сравнивает этот CollationKey с целевым CollationKey.
String getSourceString()
Возвращает строку, представленную этим CollationKey.
abstract byte[] toByteArray()
Преобразует CollationKey в последовательность битов.

Методы, объявленные в классе 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, создавшего эти ключи. Примечание: CollationKey, созданные разными объектами Collator, сравнивать нельзя.
Определено в:
compareTo в интерфейсе Comparable<CollationKey>
Параметры:
target — целевой CollationKey
Возвращает:
Возвращает целочисленное значение. Значение меньше нуля, если этот ключ меньше целевого; равно нулю, если этот ключ и целевой равны; и больше нуля, если этот ключ больше целевого.
См. также:
  • Collator.compare(String, String)

getSourceString

public String getSourceString()
Возвращает строку, представленную этим CollationKey.
Возвращает:
исходная строка этого CollationKey

toByteArray

public abstract byte[] toByteArray()
Преобразует CollationKey в последовательность битов. Если два CollationKey можно корректно сравнивать, то для получения того же результата можно сравнить массивы байтов этих ключей. Байты в массиве расположены начиная со старшего.
Возвращает:
представление CollationKey в виде массива байтов

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/text/CollationKey.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API