zoukankan      html  css  js  c++  java
  • comparator的用法

      在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<Job> MY_COMPARATOR = new Comparator<Job>() { public int compare(Job o1, Job o2) { if(o1.getStartTime()<o2.getStartTime()){ return -1; }else{ return 1; } } }; public static void main(String args[]){


    //初始化job,并放入到一个容器中 List
    <Job> jobs= new ArrayList<Job>(); 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()); } } }
  • 相关阅读:
    font-svg
    转 让NET C# 程序独立运行(脱离 .NET Framework运行,绿色运行) 未验证
    自定义纸张 未验证
    CSS 各种形状
    ZIP压缩与解压
    FindWindow SendMessage
    js 简单的滑动4
    js 简单的滑动3
    js 简单的滑动2
    Linux 下的php,nginx,mysql的安装
  • 原文地址:https://www.cnblogs.com/yueliming/p/3058916.html
Copyright © 2011-2022 走看看