实现自己的Comparator及Collections详解

原创 2013年12月01日 21:20:30
/**
 * 根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。 
 * 总之,o1-o2是从小到大的排列。
 */
public class MyComparator implements Comparator<Person>{

	@Override
	public int compare(Person o1, Person o2) {
		int age1=o1.getAge();
		int age2=o2.getAge();
		return age1-age2;
	}

	

}
public class Person {
	private String name;
	private String address;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public int getAge() {
		return age;
	}
	public Person setAge(int age) {
		this.age = age;
		return this;
	}
	

}

public class CollectionsTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ArrayList<Person> persons=new ArrayList<Person>();
		 persons.add(new Person().setAge(1));
		 persons.add(new Person().setAge(2));
		 persons.add(new Person().setAge(3));
		 persons.add(new Person().setAge(4));
		  Collections.sort(persons,new MyComparator());
		  
		 System.out.println(persons.get(0).getAge());
		
		 

	}

}


JAVA中Collections.sort()实现List排序的公共方法和自定义方法

本文是受开源中国中的一篇文章启发而写(找不到连接了,所以暂时木法贴出来,一旦找到立马贴出来),个别内容参考了开源中国会员的讨论,感谢! 1.java提供的默认list排序方法 主要代码: ...
  • z69183787
  • z69183787
  • 2015年07月08日 15:25
  • 1930

JAVA Comparator 接口排序用法

java的比较器有两类,分别是Comparable接口和Comparator接口。 在为对象数组进行排序时,比较器的作用非常明显,首先来讲解Comparable接口。 让需要进行排序的对象...
  • u010839723
  • u010839723
  • 2015年03月16日 09:36
  • 6044

java list集合使用Collections中的sort方法进行排序(Comparator),超实用

Collections中sort方法对list集合进行排序,很实用
  • zhangjq520
  • zhangjq520
  • 2017年01月10日 14:04
  • 3435

(有坑)如何正确实现Comparator<T>接口

最近用户报告了一个crash,错误堆栈如下: java.lang.IllegalArgumentException: Comparison method violates its general co...
  • u013476196
  • u013476196
  • 2016年05月19日 14:33
  • 806

java积累(一)------后端---Comparator比较器的用法

对数组或者List列表,或者Map(非hash)等排序是我们经常使用的一种处理数据的手段。Comparator接口是java中很方便的一个接口。我们只需要重写compare方法即可实现排序。int c...
  • q383965374
  • q383965374
  • 2016年04月11日 12:16
  • 5671

java排序总结(Comparator、apache-common工具包两种方法)

在进行java开发时,经常需要对list进行排序,本文对此进行小结。总结了两种方法,第一种是通过原生支持的Comparator做排序,第二种是通过apache-common的工具包进行排序。相比而言,...
  • lizeyang
  • lizeyang
  • 2013年05月02日 21:55
  • 4855

Java基础之Comparator比较器接口使用原理

路人宅 2017-04-26 00:22 java.util.Comparator是比较器接口,如果我们需要控制某个类的次序并且该类本身不支持排序,那么就可以建立一个类比较器来进行排序,实现...
  • u011277123
  • u011277123
  • 2017年04月26日 09:51
  • 939

【java】Comparator的用法

为什么写? 1. comparator 是javase中的接口,位于java.util包下,javase中的所有接口抽象度都很高,有必要重视 2. 网上太多的文章告诉大家comparator是用来...
  • u012250875
  • u012250875
  • 2017年02月15日 00:50
  • 30600

java中的Comparator和Comparable比较器的用法

Comparable和Comparator都是用来实现集合中的排序的,Comparator位于包java.util下,而Comparable位于包java.lang下,Comparable接口将比较代...
  • happylifex
  • happylifex
  • 2015年03月27日 16:14
  • 6768

Collections结合Comparator实现对列表的快速排序

前言  在Java中,你有什么方法对List列表里面的数据进行排序呢?自己写排序算法吗?例如选择排序,冒泡排序,好吧这种方法确实可以,但是不能每次需要排序的时候都要自己去写吧,所以我就希望java能有...
  • ProgramChangesWorld
  • ProgramChangesWorld
  • 2015年10月11日 21:37
  • 587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现自己的Comparator及Collections详解
举报原因:
原因补充:

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