Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определённого промежутка реального времени.

Подробное описание конструкторов

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, 2026, 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.

Spec-Zone.ru

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