龙空技术网

java中Comparator有什么用

马克java社区 171

前言:

如今同学们对“javacomparator原理”大约比较珍视,各位老铁们都需要学习一些“javacomparator原理”的相关文章。那么小编也在网上网罗了一些有关“javacomparator原理””的相关知识,希望朋友们能喜欢,朋友们一起来了解一下吧!

Comparator的用法

马克-to-win:和Comparable的思路一样,只不过排序规则这次是在Comparator的继承类的compare方法中定义。

例:3.6.1

import java.util.*;

// A reverse comparator for strings.

class MyComp implements Comparator {

/* Comparator has two methods compare and equals, when your class implements

Comparator, there is no need to override equals, why? java.lang Class

Object implement equals method, so its sub-class MyComp does not need to

implement equals method, while java.lang Class Object does not implements

compare mathod. */

public int compare(Object a, Object b) {

String aStr, bStr;

aStr = (String) a;

bStr = (String) b;

/* compareTo(String anotherString)Compares two strings

* lexicographically. The comparison is based on the Unicode value of

* each character in the strings. The character sequence represented by

* this String object is compared lexicographically to the character

* sequence represented by the argument string.

马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。

* The result is a negative integer if this String object

* lexicographically precedes the argument string.

*/

/* the following two statements will have the opposite effect. */

// return bStr.compareTo(aStr);

return aStr.compareTo(bStr);

}

}

public class TestMark_to_win {

public static void main(String args[]) {

/* Constructs a new, empty set, sorted according to the specified

* comparator. All elements inserted into the set must be mutually

* comparable by the specified comparator: comparator.compare(e1, e2)

篇幅有限更多请见扩展链接:

标签: #javacomparator原理