Класс 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
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор CollationKey. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract int |
compareTo |
Сравнение текущего CollationKey с целевым CollationKey. |
String |
getSourceString() |
Возвращает строку, которую представляет этот CollationKey. |
abstract byte[] |
toByteArray() |
Преобразование CollationKey в последовательность битов. |
Подробное описание конструкторов
CollationKey
protected CollationKey(String source)
- Параметры:
-
source- исходная строка - Исключения:
-
NullPointerException- еслиsourceимеет значение null - С:
- 1.6
Подробное описание методов
compareTo
public abstract int compareTo(CollationKey target)
- Унаследован от:
-
compareToв интерфейсеComparable<CollationKey> - Параметры:
-
target- целевой CollationKey - Возвращает:
- Возвращает целое число. Значение меньше нуля, если текущее значение меньше целевого, значение равно нулю, если текущее и целевое значения равны, и значение больше нуля, если текущее значение больше целевого.
- См. также:
getSourceString
public String getSourceString()
- Возвращает:
- исходная строка этого CollationKey
toByteArray
public abstract byte[] toByteArray()
- Возвращает:
- массив байтов, представляющий CollationKey
© 1993, 2021, 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/17/docs/api/java.base/java/text/CollationKey.html