`

java 数组比较排序

    博客分类:
  • java
 
阅读更多

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;
	}

}

 

这个是一个实现了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中的实现。 首先,让我们从最简单的...

    java 数组递增排序

    首先,最常见的数组排序算法是冒泡排序(Bubble Sort)、选择排序(Selection Sort)、插入排序(Insertion Sort)和快速排序(Quick Sort)。这些算法都有其独特的工作原理和性能特点。 1. **冒泡排序**:冒泡排序...

    JAVA语言实现随机数的输入以及数组的排序

    JAVA\数组排序,JAVA语言实现随机数的输入以及数组的排序。JAVA 随机数 数组排序

    java数组排序冒泡排序源代码

    java冒泡排序 代码为排序源代码 简洁明了 无其他

    Java数组+数组排序+数组复制+最大最小值+合并数组+数组升降序排序+数组查找

    Java数组排序:冒泡排序、选择排序 、插入排序 、快速排序、希尔排序、堆排序和归并排序 三种Java数组复制方法 Java数组最大最小值 四种合并Java数组方法 Java数组升降序排序 Java数组查找:二分查找、顺序查找、...

    java 部分数组递增排序

    在编程领域,数组排序是一个常见的任务,特别是在Java中。这里我们关注的是“部分数组递增排序”,这通常指的是对一个数组中的某一段元素进行升序排列。以下是对这个主题的详细解释。 首先,理解基本概念。数组是...

    Java数组练习题(带答案).doc

    Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...

    java_二维数组冒泡行列排序源代码

    使用冒泡排序实现的java语言编写的关于二维数组的排序,实现了行、列的排序输出。

    文件读出数组进行选择排序和二分查找(java)

    在Java编程中,文件读取、数组操作、选择排序以及二分查找是常见的编程任务,它们涉及了IO流、数据结构和算法等多个方面。以下是这些知识点的详细解释: 1. **文件读取**:Java提供了丰富的IO流类库用于读取文件。...

    数组以及排序算法

    1. 冒泡排序:通过重复遍历数组,每次比较相邻元素并交换顺序,逐步将最大(或最小)元素“冒”到数组末尾。时间复杂度为O(n^2)。 2. 插入排序:将数组分为已排序部分和未排序部分,依次将未排序元素插入到已排序...

    java实现去除数组中重复元素,并排序

    先声明一个数组,这个数组中可能会存在重复的元素,而且顺序也是杂乱的,要求将这个数组中的重复元素排除掉并将新得到的数组进行递增排序

    JAVA数组的排序方法实例.docx

    ### JAVA数组的排序方法实例 #### 内容概述: 本文档详细介绍了两种在Java中对数组进行排序的方法:冒泡排序法与使用`Arrays.sort()`方法实现数组递增排序。这两种方法是Java编程中常见的排序手段,对于理解数组...

    java实现数组冒泡排序

    java实现数组从小到大排序,输出为数组。可以直接拿来用,注释清楚,可读性强,适用于基础练习,课堂作业等

    java 数组排序 之 选择法

    java数组排序经典之一,选择法,效率很高的一种排序方法,内部实现二分搜索法。

    使用快速排序法对一维数组进行排序

    描述中的程序实现了快速排序法,可能是用一种编程语言如C++、Java或Python编写的,用于对一维数组进行排序。这种程序的实现一般包括上述的三个主要步骤,并可能包含优化措施,例如处理小数组时改用插入排序,或者...

    Java数组排序并删除重复项

    JAVA代码实现:用冒泡法将数组进行排序显示,并将删除重复项之后的新数组进行输出

    java 冒泡排序 数组冒泡排序

    下面是一个简单的Java代码示例,用于对一个整型数组进行升序排序: ```java public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i ; i++) { for (int...

    二维数组如何进行冒泡排序

    ### 二维数组冒泡排序详解 #### 一、引言 冒泡排序是一种简单的排序算法,在数据处理领域有着广泛的应用。对于一维数组而言,冒泡排序实现起来...希望本文能够帮助初学者更好地理解二维数组排序的原理和实现细节。

    JAVA 对象数组按照多个属性进行排序

    在Java编程中,对象数组排序是一项常见的任务,特别是在处理复杂数据结构时。当我们需要根据对象的多个属性进行排序时,情况会变得稍微复杂。本文将深入探讨如何在Java中实现这个功能,结合给出的标签“源码”和...

Global site tag (gtag.js) - Google Analytics