Spec-Zone.ru › OpenJDK 8

Класс 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());
См. также:
Collator, RuleBasedCollator

Конструкторы

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

Конструктор 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, который создал эти ключи. Примечание: объекты CollationKeys, созданные различными объектами 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, 2020, 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