java 数组比较排序
来源:互联网 发布:会员数据分析模型 编辑:程序博客网 时间:2024/06/02 23:32
java数组比较排序需要实现Comparable接口,并实现其中的compareTo方法,方可用compareTo进行比较或者用Arrays.sort(arrayObj); 进行排序
代码:
- /**一个雇员类 实现了比较的接口
- * @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;
- }
- }
/**一个雇员类实现了比较的接口 * @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);}//实现比较接口的方法@Overridepublic 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("===============比较测试===============");
- }
- }
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比较器对数组,集合排序
- 关于java数组比较器排序
- 数组排序方法比较
- java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例
- Java比较器对数组,集合排序一
- Java比较器对数组,集合排序二
- java数组、字符串比较插入及排序问题
- 比较字符串数组,并排序
- PHP数组排序方法比较
- C++数组元素比较排序
- JAVA数组比较
- java 字节数组比较
- Java 字节数组比较
- Java 时间段比较、排序
- hdu 2669
- JAVA/JSP获得路径总结
- Application常用判断函数
- IComparer<T> VS IComparable<T>
- start your world here
- java 数组比较排序
- MDX基础 多维度查询
- javaweb小项目二——MyShopping
- android 获得指定路径下可用存储大小
- “返回”退出提示
- NHibernate 处理 oracle 的long数据类型(ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值)
- xcode4.2安装cocos3d,导入3DSMAX模型
- vim基本命令
- android下如何打印调用栈