java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.text
类 CollationKey

java.lang.Object
  继承者 java.text.CollationKey
所有已实现的接口:
Comparable<CollationKey>

public final class CollationKey
extends Object
implements Comparable<CollationKey>

CollationKey 表示遵守特定 Collator 对象规则的 String。比较两个 CollationKey 将返回它们所表示的 String 的相对顺序。使用 CollationKey 来比较 String 通常比使用 Collator.compare 更快。因此,当必须多次比较 String 时(例如,对一个 String 列表进行排序),使用 CollationKey 会更高效。

不能直接创建 CollationKey。而是通过调用 Collator.getCollationKey 来生成。只能比较同一个 Collator 对象生成的 CollationKey

为一个 String 生成 CollationKey 涉及到检查整个 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

方法摘要
 int compareTo(CollationKey target)
          比较此 CollationKey 与目标 CollationKey。
 boolean equals(Object target)
          比较此 CollationKey 与目标 CollationKey 的相等性。
 String getSourceString()
          返回此 CollationKey 表示的 String。
 int hashCode()
          创建此 CollationKey 的哈希码。
 byte[] toByteArray()
          将 CollationKey 转换成位序列。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

compareTo

public int compareTo(CollationKey target)
比较此 CollationKey 与目标 CollationKey。创建这些键的 Collator 对象的 collation 规则将被应用。注:不能比较由不同 Collator 对象创建的 CollationKey。

指定者:
接口 Comparable<CollationKey> 中的 compareTo
参数:
target - 目标 CollationKey
返回:
返回一个整数值。如果此 CollationKey 小于目标 CollationKey,则值小于零;如果此 CollationKey 与目标 CollationKey 相等,则值等于零;如果此 CollationKey 大于目标 CollationKey,则值大于零。
另请参见:
Collator.compare(java.lang.String, java.lang.String)

equals

public boolean equals(Object target)
比较此 CollationKey 与目标 CollationKey 的相等性。创建这些键的 Collator 对象的 collation 规则将被应用。注:不能比较由不同 Collator 对象创建的 CollationKey。

覆盖:
Object 中的 equals
参数:
target - 要比较的 CollationKey。
返回:
如果两个对象相等,则返回 true;否则返回 false。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
创建此 CollationKey 的哈希码。哈希值根据键本身计算,而不是根据创建该键的 String 计算。因此,如果 x 和 y 为 CollationKey,且 x.equals(y) 为 true,则 x.hashCode(x) == y.hashCode()。这允许在哈希表中进行与语言相关的比较。有关例子,请参见 CollatinKey 类描述。

覆盖:
Object 中的 hashCode
返回:
基于字符串的 collation 排序的哈希值。
另请参见:
Object.equals(java.lang.Object), Hashtable

getSourceString

public String getSourceString()
返回此 CollationKey 表示的 String。


toByteArray

public byte[] toByteArray()
将 CollationKey 转换成位序列。如果两个 CollationKey 可以进行合法的比较,则可以比较每个键的字节数组,其结果相同。字节数组从最高有效字节开始组织。


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策