java比较器Comparator

原创 2016年05月31日 15:50:33
//具体的比较类,实现Comparator接口
	import java.util.Comparator;
	import java.util.List;
	import java.util.ArrayList;
	import java.util.Collections;

	class User
	{
		String name;
		String age;
		
		public User(String name, String age) {
			super();
			this.name = name;
			this.age = age;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getAge() {
			return age;
		}
		public void setAge(String age) {
			this.age = age;
		}
		
	}
	class ComparatorUser implements Comparator{

	 public int compare(Object arg0, Object arg1) 
	 {
		  User user0=(User)arg0;
		  User user1=(User)arg1;
	
		   //首先比较年龄,如果年龄相同,则比较名字
	
		  int flag=user0.getAge().compareTo(user1.getAge());
		  if(flag==0)
		  {
			  return user0.getName().compareTo(user1.getName());
		  }
		  else
		  {
			  return flag;
		  }  
	 }
	 
	}




	//测试类
	public class Main 
	{

		 public static void main(String[] args)
		 {
			  List userlist=new ArrayList();
			  userlist.add(new User("dd","4"));
			  userlist.add(new User("aa","1"));
			  userlist.add(new User("ee","5"));
			  userlist.add(new User("bb","2"));  
			  userlist.add(new User("ff","5"));
			  userlist.add(new User("cc","3"));
			  userlist.add(new User("gg","6"));
			  
			  ComparatorUser comparator=new ComparatorUser();
			  Collections.sort(userlist, comparator);
			   
			  for (int i=0;i<userlist.size();i++)
			  {
				  User user_temp=(User)userlist.get(i);
			      System.out.println(user_temp.getAge()+","+user_temp.getName()); 
			  }
		 }
	}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

Comparable和Comparator都是用来实现集合中的排序的,Comparator位于包java.util下,而Comparable位于包java.lang下,Comparable接口将比较代...

Java自定义比较器Comparator

1.字符串排序:奇数在前,偶数在后。奇数降序,偶数

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

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

JAVA外部比较器:实现Comparator接口

强行对某个对象 collection 进行整体排序 的比较函数。可以将 Comparator 传递给 sort 方法(如 Collections.sort 或 Arrays.sort),从而允许在...

浅谈Java比较器comparable/comparator

在笔者学习比较器的过程中,学了就忘,忘了就学,这效率实在是太过低下。笔者思量了会儿,辗转反侧究其原因,才知这比较器的知识在Java大家族中”地位”过低,让人不得不忽略它.这就像是一浪荡男儿常年混迹在花...

java中关于比较器comparator和comparable

今天学习js的时候,当看到函数和数组这一块的时候,无意间看到了comparator这个词。而且其用法和java中的近乎一样。不由来了感康啊。时间隔了那么久,现在对于java中之前用过的比较器也是模模糊...

java比较器Comparator与Comparable

一、List容器排序方法, Collections.sort(List list), Collections.sort(List list, Comparator...

[Java]有关比较器(Comparator接口)的用法及对象数组排序问题

跟上篇文章一样,今天讨论的对象也是Arrays.sort()方法与Comparator接口的相互用法。...

JAVA常用类库---比较器(Comparable、Comparator)

一、Comparable接口 可以直接使用java.util.Arrays类进行数组的排序操作,但对象所在的类必须实现Comparable接口,用于指定排序接口。 Comparable接口定义如下...
  • Joywy
  • Joywy
  • 2012年07月26日 15:18
  • 606

Java Map集合利用比较器Comparator根据Key和Value的排序

Java Map集合利用比较器Comparator根据Key和Value的排序
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java比较器Comparator
举报原因:
原因补充:

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