java List 排序实例详解

//1.新建一个实体类User

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

//2.具体的比较类,实现Comparator接口

 

import java.util.Comparator;

/** 
 * @version 创建时间:2011-10-17   上午09:52:28
 * 类说明 
 */

public class ComparatorUser implements Comparator {

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

 

//3.排序测试类

 


package com.comparator;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class SortTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List<User> userlist = new ArrayList<User>();
		userlist.add(new User("aa",4));
		userlist.add(new User("dd",8));
		userlist.add(new User("cc",3));
		userlist.add(new User("ff",4));
		userlist.add(new User("bb",41));
		userlist.add(new User("jj",1));
		userlist.add(new User("nn",5));
		
		ComparatorUser comparatorUser = new ComparatorUser();
		Collections.sort(userlist, comparatorUser);
		
		for (User user : userlist) {
			System.out.println(user.getAge()+"*****"+user.getName());
		}
//		for (int i=0; i<userlist.size(); i++) {
//			User user_temp = (User)userlist.get(i);
//				System.out.println(user_temp.getAge() + "====" + user_temp.getName());
//		}
	}

}

 

来源:http://www.dream-chase.com


java List 排序实例详解         java环境变量配置

Java 获取路径                       Chase_Java容器遍历的方法

java入门                                 Java菱形

Java倒三角                           Java九九乘法表

java-俄罗斯方块                   猜数字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值