Класс 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
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/CollationKey.html