java 数组比较排序
2013-02-23 08:57
197 查看
java数组比较排序需要实现Comparable接口的compareTo方法,方可用compareTo进行比较或者用Arrays.sort(arrayObj); 进行排序
这个是一个实现了compareTo接口的雇员类,那么它就可以进行比较和排序了。
测试类:
compareTo的实现方式:
x.compareTo(y)为例,当x小于y的时候,返回一个负数。当x大于y的时候,返回一个正数。相等的时候返回0.
/**一个雇员类 实现了比较的接口 * @author CXY * */ public class Employee implements Comparable<Employee> { /** * 姓名 */ private String name; /** * 工资 */ private float money; /**构造函数 * @param name * @param money */ Employee(String name,float money) { this.name=name; this.money=money; } /** * 显示雇员信息 */ public void showEmployeeMessage() { System.out.println("姓名:"+name+",工资:"+money); } //实现比较接口的方法 @Override public int compareTo(Employee anotherOne) { if(money > anotherOne.getMoney()) { return 1; }else if(money < anotherOne.getMoney()) { return -1; } return 0; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getMoney() { return money; } public void setMoney(float money) { this.money = money; } }
这个是一个实现了compareTo接口的雇员类,那么它就可以进行比较和排序了。
测试类:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; /**雇员测试类 * @author CXY */ public class EmployeeTest { public static void main(String[] args) throws Exception { Employee[] employeeA=new Employee[3]; employeeA[0]=new Employee("小红", 5000.5f); employeeA[1]=new Employee("小黄", 8000.8f); employeeA[2]=new Employee("小白", 5000.6f); System.out.println("工资排序前:"); for(Employee one:employeeA) { one.showEmployeeMessage(); } Arrays.sort(employeeA); System.out.println("====================="); System.out.println("工资排序后:"); for(Employee one:employeeA) { one.showEmployeeMessage(); } System.out.println("====================="); if(employeeA[1].compareTo(employeeA[0])==1) { System.out.println(employeeA[1].getName()+"比"+employeeA[0].getName()+"工资高"); }else if(employeeA[1].compareTo(employeeA[0])==-1) { System.out.println(employeeA[1].getName()+"比"+employeeA[0].getName()+"工资低"); }else { System.out.println(employeeA[1].getName()+"和"+employeeA[0].getName()+"工资一样"); } System.out.println("===============比较测试==============="); } }
compareTo的实现方式:
x.compareTo(y)为例,当x小于y的时候,返回一个负数。当x大于y的时候,返回一个正数。相等的时候返回0.
相关文章推荐
- Java数组排序,比较大小
- java中数组的比较与排序
- Java数组排序—冒泡与希尔比较
- Java对一维数组排序:冒泡,选择,插入,比较效率
- java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例
- java学习(2)数组详解(包括数据的初始化、比较、排序、重要方法)
- 【java数组详解(包括数据的初始化、比较、排序、重要方法)】
- java 数组比较排序
- java数组、字符串比较插入及排序问题
- Java中三种比较常见的数组排序
- Java中解锁数组正确姿势以及赋值,foreach遍历?,Java自带的对数组排序,比较等等的静态方法总结
- java中排序一个字符串数组
- 经典排序之选择、冒泡、插入排序与系统排序的用时比较(Java)
- java 将字符串数组实现排序
- Java排序string数组
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- java数组——直接选择排序
- Java List排序『Collections.sort()比较对List排序』
- Java数组排序
- java:数组复制和排序