首页 > 编程语言 > 详细

Java Comparator

时间:2014-03-18 02:43:02      阅读:543      评论:0      收藏:0      [点我收藏+]

 

比较函数

Java中,TreeSet和TreeMap都以排序的方式存储元素。具体事由比较函数精确定义排序次序的意义。

定义一个Custom类

bubuko.com,布布扣
public class Custom
{
    
    private String firstName;
    private String lastName;
    
    /**
     * Constructor
     * 
     * @param firstName
     * @param lastName
     */
    
    public Custom(String firstName, String lastName)
    {
        this.firstName = firstName;
        this.lastName = lastName;
    }
    
    /**
     * @override Over write toString() method.
     */
    public String toString()
    {
        return firstName+"."+lastName;
    }
}
bubuko.com,布布扣

定义CustomComparator类实现Comparator接口

bubuko.com,布布扣
class CustomComparator implements Comparator<Custom>
{

    @Override
    public int compare(Custom arg0, Custom arg1) {
        // TODO Auto-generated method stub
        return arg0.toString().compareTo(arg1.toString());
        
    }
    
}
bubuko.com,布布扣

测试自定义比较函数

bubuko.com,布布扣
public class TreeMapTestCustomDemo 
{
    public static void main(String[] args)
    {
        // Create a tree set.
        TreeMap<Custom, Double> tm = new TreeMap<Custom, Double>(new CustomComparator());
        // Add elements to tree set.
        tm.put(new Custom("John", "Doe"), new Double(22.3));
        tm.put(new Custom("Kate", "Gurs"), new Double(20.3));
        tm.put(new Custom("Alex", "Wine"), new Double(10.3));
        tm.put(new Custom("Itan", "Lisa"), new Double(20.65));
        // Get a set of the entries.
        Set<Entry<Custom, Double>> s = tm.entrySet();
        for(Map.Entry<Custom, Double> m:s)
        {
            System.out.print(m.getKey()+ ": ");
            System.out.println(m.getValue());
        }
    }
}
bubuko.com,布布扣

Java Comparator,布布扣,bubuko.com

Java Comparator

原文:http://www.cnblogs.com/thinktotry/p/3605207.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!