java中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.

* 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)
。。。。。。。。。。。。。。。。。
详情黏贴以下网址在地址栏后请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner7_web.html#DefinitionUsageOfComparator
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页