Spec-Zone.ru › OpenJDK 24

Класс 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 в последовательность битов.

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

getSourceString

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

toByteArray

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/text/CollationKey.html

Spec-Zone.ru

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