Arrays.sort()方法给出了,只是该类实现了comparable方法,那就可以实现排序

package 测试Arrays排序功能的强大性能;

import java.util.Arrays;

public class Ceshi {
    public static void main(String[] args) {
        Employee[] employees = new Employee[3];
        employees[0] = new Employee("lgq", 2309.98);
        employees[1] = new Employee("zcp", 234232.8);
        employees[2] = new Employee("wyl", 643.98);
        System.out.println(Arrays.deepToString(employees));
        Arrays.sort(employees);
        System.out.println(Arrays.deepToString(employees));
    }
}

class Employee implements Comparable<Employee> {

    String name;
    double salary;

    public Employee(String name, double salary) {
        this.name = name;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }

    public void raiseSalary(double byPercent) {
        double raise = salary * byPercent / 100;
        salary += raise;
    }

    @Override
    public String toString() {
        return "{" + this.name + ":" + this.salary + "}" ;
    }

    @Override
    public int compareTo(Employee o) {

        if (this.salary < o.salary) return -1;
        if (this.salary > o.salary) return 1;

        return 0;
    }
}

原文地址:https://www.cnblogs.com/sharysea/p/12051403.html

时间: 2024-08-14 06:56:03

Arrays.sort()方法给出了,只是该类实现了comparable方法,那就可以实现排序的相关文章

定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。(体现多态)

实现多态的三个条件:1.要有继承2.要有抽象方法重写3.用父类指针(引用)指向子类对象 重载重写重定义的区别: 1.重载:在同一个类中进行; 编译时根据参数类型和个数决定方法调用; 子类无法重载父类; 父类同名方法被子类该方法覆盖. 2.重写:在父类和子类之间进行; 父类与子类方法有完全相同类型; 在运行时根据具体对象类型决定方法调用; 3.在重写中有抽象方法的会产生多态;没有使用抽象方法叫重定义 以下具体代码具体分析: package test3;abstract class Shape{ /

java.util.Arrays.sort两种方式的排序(及文件读写练习)

import java.io.*; import java.util.*; public class SortTest{ public static void main(String args[]) throws IOException, ClassNotFoundException { FileReader InWord = new FileReader(new File("words.txt")); BufferedReader in = new BufferedReader(In

Arrays.sort()自定义排序的实现

1. Arrays.sort(T[] a)是对数组元素按字典序进行升序排列 import java.util.*; public class Main { public static void main(String[] args){ Integer[] arr = {5,4,7,9,2,12,54,21,1}; //升序 Arrays.sort(arr); System.out.println(Arrays.toString(arr)); } } output: p.p1 { margin:

关于使用Java中Arrays.sort()方法TLE

最近一直在练用Java写题(链接),今天无意发现一道很简单的二分题,我一开始是直接开int[]数组调用Arrays.sort()去排序,没想到TLE了,原来是因为jdk中对于int[]的排序是使用快速排序的,jdk中相关调用源码如下 1 public static void sort(int[] a) { 2 DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0); 3 } 而测试数据恰好有反快排的数据,因此被卡. 解决方法也不少,比较简单

数组排序 ---- Arrays.sort()方法

Arrays.sort() 能够对对数组进行排序. 默认从小到大排序,如需调整顺序,需要通过实现Comparator接口并调用 Arrays.sort()可以对int[].double[].char[].long[].byte[].short[]之类的数据类型进行排序,下面以最常见的int[]数组为例说明. Arrays.sort(int[] values) 这种方式能够对int[] .double[].long[]之类的基本类型的数组元素进行排序,默认从小到大排序 Arrays.sort(in

JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序

一.描述 自定义的类要按照一定的方式进行排序,比如一个Person类要按照年龄进行从小到大排序,比如一个Student类要按照成绩进行由高到低排序. 这里我们采用两种方式,一种是使用Comparable接口:让待排序对象所在的类实现Comparable接口,并重写Comparable接口中的compareTo()方法,缺点是只能按照一种规则排序. 另一种方式是使用Comparator接口:编写多个排序方式类实现Comparator接口,并重写新Comparator接口中的compare()方法,

Arrays.sort()

今天在做一个按更新时间搜寻出某个目录里面的全部文件,因为自己写算法比較花费时间,干脆就用j2se提供的类Arrays提供的sort()方法,这样就比較省力.对于基本数据类型仅仅要Arrays.sort(数组)[“注:数组是声明为基本数据类型的数组,如int[]等”] 对于对象类型,要 implement Comparable,所以得重载 compareTo() 这个方法.有了这个方法,那么 Arrays.sort() 就能按照这种方法的回传值来作排序的根据.其实,基本数据类型也都有 implem

Java 容器 &amp; 泛型:四、Colletions.sort 和 Arrays.sort 的算法

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 本来准备讲 Map集合 ,还是喜欢学到哪里总结吧.最近面试期准备准备,我是一员,成功被阿里在线笔试秒杀回绝.平常心,继续努力.这次带来 Collections 和 Arrays 类中的经典算法剖析. 一.Colletions和Arrays Collentions 此类完全是服务容器的”包装器“.提供了一些操作或者返回容器的静态方法.而Arrays是用来操作数组的各种方法.其中它们的联系在于其中的So

(转载)Java 容器 &amp; 泛型:四、Colletions.sort 和 Arrays.sort 的算法

讲 Map集合 ,还是喜欢学到哪里总结吧.最近面试期准备准备,我是一员,成功被阿里在线笔试秒杀回绝.平常心,继续努力.这次带来 Collections 和 Arrays 类中的经典算法剖析. 一.Colletions和Arrays Collentions 此类完全是服务容器的”包装器“.提供了一些操作或者返回容器的静态方法.而Arrays是用来操作数组的各种方法.其中它们的联系在于其中的Sort方法,也就是这次博客的主题. 二.插入,快速.归并基本算法 ① 插入排序 {a1},{a2,a3,a4