Comparator自定义对比

           大家好,我是一网菜鸟网(http://www.sklll.com)站长,网站目前正在维护中,今天在这里做一下Comparator自定义对比的简单文章说明,大家有什么不懂的可以给我留言或者到我群(225223397)内和更多共同爱好的人一起讨论,我邮箱sklll@126.com。

通过Comparator自定义对比其实也比较简单,废话不多说,上代码:

1.先自定义一个实体类

2.写一个测试类


package org.ej.sort.entity;
/***************
 * 
 * @author 用户类
 * @date 2014年4月29日
 * @http://www.zhiyunhome.com
 */
public class UserInfo {
	
	private String userName;
	
	private int userAge;

	public UserInfo(String userName, int userAge) {
		super();
		this.userName = userName;
		this.userAge = userAge;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public int getUserAge() {
		return userAge;
	}

	public void setUserAge(int userAge) {
		this.userAge = userAge;
	}
	
}

编写测试类:

package org.ej.sort.test;

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

import org.ej.sort.entity.UserInfo;

/************************
 * 
 * @author 沈坤林
 * @date 2014年4月29日
 * @http://www.zhiyunhome.com
 *
 */
public class SortTest implements Comparator<UserInfo>{

    @Override
    public int compare(UserInfo o1, UserInfo o2) {
        // TODO Auto-generated method stub
        return o1.getUserAge()-o2.getUserAge();
    }
    
    public static void main(String[] args) {
        List<UserInfo> users = new ArrayList<UserInfo>();
        UserInfo u1 = new UserInfo("TE", 10);
        UserInfo u2 = new UserInfo("HD", 13);
        UserInfo u3 = new UserInfo("花C", 7);
        UserInfo u4 = new UserInfo("白B", 8);
        UserInfo u5 = new UserInfo("胖A", 55);
        UserInfo u6 = new UserInfo("张白", 32);
        UserInfo u7 = new UserInfo("三K", 23);
        
        users.add(u1);
        users.add(u2);
        users.add(u3);
        users.add(u4);
        users.add(u5);
        users.add(u6);
        users.add(u7);
        
        //升序
        Collections.sort(users,new SortTest());
        System.out.println("====================升序===================");
        for (UserInfo userInfo : users) {
            System.out.println("姓名:"+userInfo.getUserName()+"   年龄:"+userInfo.getUserAge());
        }
        System.out.println("===================降序========================");
        //降序
        Collections.sort(users,Collections.reverseOrder(new SortTest()));
        
        for (UserInfo userInfo : users) {
            System.out.println("姓名:"+userInfo.getUserName()+"   年龄:"+userInfo.getUserAge());
        }
        
    }
    

}




结果如下:




搞定!

有什么不懂的可以直接加入群:181492057 一起讨论!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值