JavaTM Platform
Standard Ed. 6

接口 java.util.Comparator
的使用

使用 Comparator 的软件包
java.lang 提供利用 Java 编程语言进行程序设计的基础类。 
java.text 提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。 
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 
java.util.concurrent 在并发编程中很常用的实用工具类。 
javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 
javax.swing.table 提供用于处理 javax.swing.JTable 的类和接口。 
 

java.lang 中 Comparator 的使用
 

声明为 Comparator 的 java.lang 中的字段
static Comparator<String> String.CASE_INSENSITIVE_ORDER
          一个对 String 对象进行排序的 Comparator,作用与 compareToIgnoreCase 相同。
 

java.text 中 Comparator 的使用
 

实现 Comparator 的 java.text 中的类
 class Collator
          Collator 类执行区分语言环境的 String 比较。
 class RuleBasedCollator
          RuleBasedCollator 类是 Collator 的具体子类,它提供了一个简单的、数据驱动的表 collator。
 

java.util 中 Comparator 的使用
 

返回 Comparator 的 java.util 中的方法
 Comparator<? super E> PriorityQueue.comparator()
          返回用来对此队列中的元素进行排序的比较器;如果此队列根据其元素的自然顺序进行排序,则返回 null。
 Comparator<? super E> TreeSet.comparator()
           
 Comparator<? super E> SortedSet.comparator()
          返回对此 set 中的元素进行排序的比较器;如果此 set 使用其元素的自然顺序,则返回 null。
 Comparator<? super K> TreeMap.comparator()
           
 Comparator<? super K> SortedMap.comparator()
          返回对此映射中的键进行排序的比较器;如果此映射使用键的自然顺序,则返回 null。
static
<T> Comparator<T>
Collections.reverseOrder()
          返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。
static
<T> Comparator<T>
Collections.reverseOrder(Comparator<T> cmp)
          返回一个比较器,它强行逆转指定比较器的顺序。
 

参数类型为 Comparator 的 java.util 中的方法
static
<T> int
Collections.binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
          使用二分搜索法搜索指定列表,以获得指定对象。
static
<T> int
Arrays.binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c)
          使用二分搜索法来搜索指定数组的范围,以获得指定对象。
static
<T> int
Arrays.binarySearch(T[] a, T key, Comparator<? super T> c)
          使用二分搜索法来搜索指定数组,以获得指定对象。
static
<T> T
Collections.max(Collection<? extends T> coll, Comparator<? super T> comp)
          根据指定比较器产生的顺序,返回给定 collection 的最大元素。
static
<T> T
Collections.min(Collection<? extends T> coll, Comparator<? super T> comp)
          根据指定比较器产生的顺序,返回给定 collection 的最小元素。
static
<T> Comparator<T>
Collections.reverseOrder(Comparator<T> cmp)
          返回一个比较器,它强行逆转指定比较器的顺序。
static
<T> void
Collections.sort(List<T> list, Comparator<? super T> c)
          根据指定比较器产生的顺序对指定列表进行排序。
static
<T> void
Arrays.sort(T[] a, Comparator<? super T> c)
          根据指定比较器产生的顺序对指定对象数组进行排序。
static
<T> void
Arrays.sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
          根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。
 

参数类型为 Comparator 的 java.util 中的构造方法
PriorityQueue(int initialCapacity, Comparator<? super E> comparator)
          使用指定的初始容量创建一个 PriorityQueue,并根据指定的比较器对元素进行排序。
TreeMap(Comparator<? super K> comparator)
          构造一个新的、空的树映射,该映射根据给定比较器进行排序。
TreeSet(Comparator<? super E> comparator)
          构造一个新的空 TreeSet,它根据指定比较器进行排序。
 

java.util.concurrent 中 Comparator 的使用
 

返回 Comparator 的 java.util.concurrent 中的方法
 Comparator<? super K> ConcurrentSkipListMap.comparator()
           
 Comparator<? super E> ConcurrentSkipListSet.comparator()
           
 Comparator<? super E> PriorityBlockingQueue.comparator()
          返回用于对此队列元素进行排序的比较器;如果此队列使用其元素的自然顺序,则返回 null。
 

参数类型为 Comparator 的 java.util.concurrent 中的构造方法
ConcurrentSkipListMap(Comparator<? super K> comparator)
          构造一个新的空映射,该映射按照指定的比较器进行排序。
ConcurrentSkipListSet(Comparator<? super E> comparator)
          构造一个新的空 set,该 set 按照指定的比较器对其元素进行排序。
PriorityBlockingQueue(int initialCapacity, Comparator<? super E> comparator)
          使用指定的初始容量创建一个 PriorityBlockingQueue,并根据指定的比较器对其元素进行排序。
 

javax.swing 中 Comparator 的使用
 

返回 Comparator 的 javax.swing 中的方法
protected  Comparator<? super Component> SortingFocusTraversalPolicy.getComparator()
          返回将用于对焦点遍历循环中的 Components 排序的 Comparator。
 Comparator<?> DefaultRowSorter.getComparator(int column)
          返回指定列的 Comparator。
 

参数类型为 Comparator 的 javax.swing 中的方法
protected  void SortingFocusTraversalPolicy.setComparator(Comparator<? super Component> comparator)
          设置将用于对焦点遍历循环中的 Components 排序的 Comparator。
 void DefaultRowSorter.setComparator(int column, Comparator<?> comparator)
          设置对指定列进行排序时要使用的 Comparator。
 

参数类型为 Comparator 的 javax.swing 中的构造方法
SortingFocusTraversalPolicy(Comparator<? super Component> comparator)
          构造具有指定 Comparator 的 SortingFocusTraversalPolicy。
 

javax.swing.table 中 Comparator 的使用
 

返回 Comparator 的 javax.swing.table 中的方法
 Comparator<?> TableRowSorter.getComparator(int column)
          返回指定列的 Comparator。
 


JavaTM Platform
Standard Ed. 6

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

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