博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
comparator的用法
阅读量:5030 次
发布时间:2019-06-12

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

  在mapreduce中,用户提交的作业放到Map容器中,那么它是怎样对其中的job进行排序的呢?

  最重要的是我们首先要写好自己的Comparator,下面我通过一个简单的例子来进行分析容器中元素排序过程。

  1.   首先,建一个Job类用来描述用户提交的作业。
    1. 1 package com.comparator.test; 2  3 public class Job { 4     private Long startTime; 5  6     public Long getStartTime() { 7         return startTime; 8     } 9 10     public void setStartTime(Long startTime) {11         this.startTime = startTime;12     }13 }
  2. 编写测试类。    
package com.comparator.test;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class MyComparatorTest {
//实现自己的Comparator,只是根据job的开始时间进行排序 static final Comparator
MY_COMPARATOR = new Comparator
() { public int compare(Job o1, Job o2) { if(o1.getStartTime()
jobs= new ArrayList
(); Job job1= new Job(); job1.setStartTime(System.currentTimeMillis()); jobs.add(job1); Job job2= new Job(); job2.setStartTime(System.currentTimeMillis()+9); jobs.add(job2); //用自己编写的Comparator对jobs容器进行排序 Collections.sort(jobs, MY_COMPARATOR); for(Job job:jobs){ System.out.println(job.getStartTime()); } }}

 

转载于:https://www.cnblogs.com/yueliming/archive/2013/05/04/3058916.html

你可能感兴趣的文章
Python 3基础教程17-提问频率较高的几个Python问题
查看>>
private、protected、public
查看>>
jquery学习笔记----ajax使用
查看>>
爱上MongoDB的七大理由
查看>>
使用Kinect,Azure,Windows Phone和Windows8的家庭安全系统(翻译)
查看>>
【Android】OAuth验证和新浪微博的oauth实现
查看>>
zoj 1985
查看>>
elasticsearch的安装
查看>>
__next__()
查看>>
计算机视觉领域比较牛的网站
查看>>
python 数据分析----pandas
查看>>
JS书写规范
查看>>
.NET业务实体类验证组件Fluent Validation
查看>>
db2快照
查看>>
eclipse 快捷键
查看>>
ArcGIS for Server10.1集群
查看>>
vue组件之间的三种传值方式
查看>>
Jquery在表格中搜索关键字
查看>>
codeforces546C
查看>>
Singleton模式的五种实现
查看>>