comprable和comparator的区别

原创 2016年08月29日 21:56:08

                                                                     comprable和comparator的区别

(一)comprable和comparator两个接口都是用于比较的。Compartor接口是Java.util包中的接口,而Comparable是java.lang包中的接口

(二)comprable接口中只有一个  int compareTo(T o)方法,该方法返回一个整形值

          comparator接口有两个方法 compare(Object obj1,Object obj2)和equals(Object obj)
(三) 其实实现了comprable接口的类是用于自身比较,而 实现comparator接口的类相当于一个比较器

现在我们用两种方式实现比较一个人的年龄,第一种方式用comprable接口

代码如下:

public class PersonComprabletest implements Comparable<Integer>{
	 
	 public int age  ;
	
	public int compareTo(Integer age) {
		if(this.age > age){
			return -1;}
		else if(this.age < age){
			return 1;
		}else{
			return 0;}
		
	}
	public static void main (String args[]){
		PersonComprabletest a = new PersonComprabletest();
		PersonComprabletest b = new PersonComprabletest();   
		b.age = 10;
		a.age = 4;
		System.out.print(b.compareTo(a.age)) ;
	}
	
	 
        
	

}

第二种方式实现comparator接口

代码如下:

import java.util.Comparator;

public class PersonComparator implements Comparator<Integer>{

	public int compare(Integer a, Integer b) {
		
		if(a > b){
			return 1;}
		else if(a < b){
			return -1;
		}else{
			return 0;
	}	
}
	public static void main (String args[]){
		Person p1 = new Person();
		Person p2 = new Person();
		p1.age = 5;
		p2.age = 12;
		System.out.print(new PersonComparator().compare(p1.age , p2.age));	
	}
	
}
	class Person{
		public int age;
	}
	
	
	




java Comparable 和Comparator详解及 区别(附代码)

java中,对集合对象或者数组对象排序,有两种实现方式。 即:(1)对象实现Comparable 接口         (2)定义比较器,实现Comparator接口。 下面会简要介绍这两种方法...
  • tolcf
  • tolcf
  • 2016年08月17日 15:05
  • 1919

Comparatable接口和Comparator接口的使用与区别

这篇博文可以为你解决的问题如下: 什么是自然排序 Collections.sort()与Arrays.sort()的异同点 Comparatable接口和Comparator接口各自的排序依据(...
  • qing419925094
  • qing419925094
  • 2014年03月03日 12:17
  • 1252

TreeSet集合排序两种实现方式Comparable和Comparator比较

import java.util.Comparator; import java.util.Iterator; import java.util.TreeSet; /** * TreeSet集合排...
  • Geek_ymv
  • Geek_ymv
  • 2014年07月26日 16:56
  • 2293

comparator接口与Comparable接口的区别

  • 2016年07月13日 19:40
  • 14KB
  • 下载

Comparable&amp;Comparator区别

  • 2011年11月08日 15:54
  • 54KB
  • 下载

Comparable与Comparator的区别

  • 2014年09月09日 23:12
  • 70KB
  • 下载

(转)Comparator接口与Comparable接口的区别

原地址:http://www.cnblogs.com/sunflower627/p/3158042.html 1. Comparator 和 Comparable 相同的地方 他们都是java...
  • duyiqun
  • duyiqun
  • 2016年01月06日 13:12
  • 125

comparator接口与Comparable接口的区别

概述Comparable和Comparator都是用来实现集合中元素的比较、排序的。Comparable是在集合内部定义的方法实现的排序,位于java.lang下。Comparator是在集合外部实现...
  • u012767369
  • u012767369
  • 2017年02月12日 17:34
  • 337

comparator接口与Comparable接口的区别

1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class ...
  • pozmckaoddb
  • pozmckaoddb
  • 2015年08月18日 12:21
  • 1138

Comparable接口与Comparator接口主要区别及实例

Comparable接口与Comparator接口主要区别: 1、前者(强烈推荐)是强行对是实现它的每个类的对象进行整体排序,此类被称为该类的自然排序,类的compareTo方法被称为它的自然比较方...
  • healthsun
  • healthsun
  • 2014年12月24日 11:22
  • 982
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:comprable和comparator的区别
举报原因:
原因补充:

(最多只允许输入30个字)