Java对象比较器学习

有两种方式可以进行集合排序 :

  1. 集合中对象的所属类实现了 java.lang.Comparable 接口
  2. 为集合指定比较器 java.lang.Comparator 的实现类

对象比较器

可以看到这里有两个类,进行比较时要调用相应的方法

这两个类区别使用就在于你可不可以对类信息进行修改

下面说说两个类的使用方式

 

Comparable

class demo implements Comparable {

    //如果可以对原生方法进行修改 , 使用Comparable类,覆盖此方法
	public int compareTo(Object o) {
		// 在进行比较时,会把被比较对象o传入
		return 0;
	}
}

返回的是一个int类型的值,该值反应了大小情况

Comparator

class demo1 implements Comparator {

	//再比较时会传入两个对象,与上述方法道理一致
	public int compare(Object o1, Object o2) {
		// TODO Auto-generated method stub
		return 0;
	}
}

使用这两个类就可以使对象生成比较方法

public static void main(String[] args) {
	  Arrays.sort(a, c);  // 再使用时就可以对方法传入比较器对象,
          //这样不具有比较的方法也可以排序了
}

 

发表评论

发表回复

*

沙发空缺中,还不快抢~