zoukankan      html  css  js  c++  java
  • java中的类实现comparable接口 用于排序

    import java.util.Arrays;

    public class SortApp {
    public static void main(String[] args) {
    Student[] stus = new Student[3];
    stus[0] = new Student(11, 99);
    stus[1] = new Student(13, 92);
    stus[2] = new Student(13, 89);
    Arrays.sort(stus);
    for (Student student : stus) {
    System.out.println("age=" + student.getAge() + ";" + "score="
    + student.getScore());
    }
    }

    static class Student implements Comparable<Student> {
    private int age;
    private int score;

    public Student() {
    }

    public Student(int age, int score) {
    this.age = age;
    this.score = score;
    }

    public int getScore() {
    return score;
    }

    public void setScore(int score) {
    this.score = score;
    }

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    public int compareTo(Student o) {
    int result = this.age - o.age;// o 表示待要比较的对象 result为正 将升序排列 为负将降序排序
    if (result != 0) {
    return result;
    } else {
    return this.score - o.score;//如果result=0 将比较第二列
    }
    }

    }
    }

    上面的例子我们在hadoop中主要是将一行作为一个key进行排序,因为hadoop默认的排序只针对key,value不排序,如要对value排序,我们需要自定义排序规则,将keyvalue同时作为key进行

  • 相关阅读:
    Pymsql
    MySQL基础操/下
    MySQL基础操作
    前端学习之jquery/下
    前端学习之jquery
    Python之异常处理
    Python之模块和包导入
    Python之模块
    Python之面向对象上下文管理协议
    Python之面向对象slots与迭代器协议
  • 原文地址:https://www.cnblogs.com/ggbond1988/p/4797893.html
Copyright © 2011-2022 走看看