• Java中的Comparable接口和Comparator接口


    Comparator位于包java.util下,比较器,是在集合外部定义排序。
    Comparable位于包java.lang下,代表当前对象可比较的,是在集合内部实现排序。

    Comparable代表一个对象内部支持排序(比如String类,Integer类,内部实现了Comparable接口) Collections.sort(list<T>)中,T必须实现Comparable接口。

    Comparable只需实现compareTo()函数即可

    	public int compareTo(Object arg0) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    

     

    而 Comparator 代表着一种策略模式(strategy design pattern),就是不改变对象自身,而用一个策略对象(strategy object)来改变它的行为。比如对List<Integer>按照绝对值排序。Collections.sort(list<T>,comparator)。

    		Collections.sort(list, new Comparator<Node2>() {
    			public int compare(Node2 o1, Node2 o2) {
    				return 0;
    			}
    			//equals用于判断两个比较器是否相等,由于Object类有默认equals,因此可以不写equals
    			public boolean equals(Object o) {
    				return false;
    			}
    		});
    

     因此可以看到,Comparator接口更加灵活!

  • 相关阅读:
    改变传统电视对客厅文化的影响
    移动终端三分天下 何与争峰
    全球移动IM应用的迅猛发展前景
    电子医疗的发展和实现
    poj 1523(无向图求割点)
    poj 3255(次短路)
    poj 2125
    poj 3204
    图的连通度问题的求法(转)
    poj 3308
  • 原文地址:https://www.cnblogs.com/tonyluis/p/5774871.html
Copyright © 2020-2023  润新知