博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中Comparator接口的用法
阅读量:5324 次
发布时间:2019-06-14

本文共 1250 字,大约阅读时间需要 4 分钟。

在java中 在对集合对象和数据对象进行排序时,往往通过实现Comparator接口,下面看一个例子。

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.Iterator;

import java.util.List;

import java.util.Random;

 

public class TestComparator implements Comparator<Object>{

 

    @Override

    public int compare(Object o1, Object o2) {

       // TODO Auto-generated method stub

       User user1 = (User)o1;

       User user2 = (User)o2;

       return user2.value - user1.value;

    }

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       List<User> list = new ArrayList<User>();

       for(int i=0 ; i<5 ; i++){

           list.add(new User("a" + new Random().nextInt(20), new Random().nextInt(20)));

       }

       TestComparator t = new TestComparator();

       Collections.sort(list, t);

       Iterator<User> it = list.iterator();

       while(it.hasNext()){

           System.out.println(it.next());

       }

    }

}

class User{

    String name = null;

    Integer value = 0;

    public User(String name , Integer value){

       this.name = name;

       this.value = value;

    }

    @Override

    public String toString() {

       return "User [name=" + name + ", value=" + value + "]";

    }

   

}

在实现Comparator接口的重写compare(Object o1,Object o2)方法的时候,如果返回的事o1.***-o2.***那么排序的结果就是从小到大排序,反之从大到小排序。

转载于:https://www.cnblogs.com/Forrest-Janny/archive/2013/02/18/2915192.html

你可能感兴趣的文章
os模块
查看>>
函数 FUNCTION
查看>>
hadoop集群的搭建与配置(1)
查看>>
android bindService()
查看>>
JVM 参数设置
查看>>
Volley的基本使用(转)
查看>>
C++ Cookbook 中文版 + 英文原版下载
查看>>
OSError: [WinError 126] 找不到指定的模块 —— 解决办法
查看>>
python记录_day10 动态传参 命名空间 作用域
查看>>
linux基础命令
查看>>
牛客假日团队赛1 题解
查看>>
在前端键入>或者<字符的时候报错
查看>>
AUC详细解释
查看>>
mysql数据库中表的外键约束
查看>>
wpf GIS 在地图上画正方形和圆形
查看>>
20 | 与时俱进:浅谈移动应用测试方法与思路
查看>>
雷军:互联网思维
查看>>
php实现单链表
查看>>
struts2笔记08-初识ActionSupport
查看>>
How to: Compile Linux kernel 2.6
查看>>