package compare;
public class Employee implements Comparable<Employee>
{
// 构造器
public Employee( String firstName , String lastName , double salary )
{
this.firstName = firstName ;
this.lastName = lastName ;
this.salary = salary ;
}
// 成员方法
public String getName()
{
return this.firstName + " " + this.lastName ;
}
public double getSalary()
{
return this.salary ;
}
public void raiseSalary(double byPercent)
{
double raise = this.salary * byPercent / 100 ;
this.salary += raise ;
}
// 根据Employee的salary排序
// 要让一个类实现排序服务必须让它实现compareTo方法
// 因为要向 sort 方法提供对象的比较方式
public int compareTo(Employee other)
{
// 用该对象与other进行比较,如果该对象小于other则返回负整数;如果大于则返回正整数;否则(相等时)则返回0
if(this.salary < other.salary)
return -1 ;
if(this.salary > other.salary)
return 1 ;
return 0 ;
}
private String firstName ;
private String lastName ;
private double salary ;
}
package compare;
import java.util.Arrays;
public class EmployeeSortTest
{
public static void main(String[] args)
{
Employee[] staff = new Employee[3] ;
staff[0] = new Employee("Harry", "Hacker", 35000) ;
staff[1] = new Employee("Carl", "Cracker", 75000) ;
staff[2] = new Employee("Tony", "Tester", 38000) ;
/* 使用Arrays类的sort方法实现排序
* 原理是:使用mergesort算法对数组中的元素进行排序,
* 要求数组中的元素必须属于实现了Comparable接口的类,并且元素之间必须是可以比较的。
*/
Arrays.sort(staff) ;
// 输出所有Employee实例对象的信息
for(Employee e : staff)
{
System.out.println("Name= " + e.getName() + ", salary= " + e.getSalary()) ;
}
}
}
分享到:
相关推荐
MyBatis Generator Core 1.3.2 是一个强大的工具,用于自动生成MyBatis的映射文件、Java模型类以及DAO接口。这个版本的工具是MyBatis框架的一个重要组成部分,它极大地简化了开发过程,减少了手动编写SQL映射和Java...
在Java编程领域,Java Core是基础且至关重要的部分,它涵盖了Java语言的核心概念和技术,包括类、对象、数据类型、异常处理以及输入/输出(IO)等。在"Java Core - bookSystem"这个项目中,我们关注的是如何利用Java...
Java是世界上最流行的编程语言之一,尤其在...这些只是Java Core的一些基础知识点,实际编程中还会涉及更多高级特性和设计模式,如多线程同步机制、I/O流、反射、设计模式等。不断学习和实践是提升Java编程技能的关键。
"Core Java"是Java编程语言的基础部分,涵盖了Java的核心概念和技术。这个仓库是基于JDK 1.8版本实现的,因此我们将会深入探讨在Java 8中的一些关键特性和重要知识点。 首先,JDK 1.8是Oracle公司发布的一个重要...
Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。
以下是对"CoreJava_day15"学习笔记中可能涉及的一些关键知识点的详细解释: 1. **异常处理**: - 异常是程序运行时出现的错误,Java通过Exception类及其子类来表示这些错误。在Java中,异常处理使用try-catch-...
CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...
在Java编程的学习过程中,掌握Core Java是至关重要的一步。Core Java涵盖了语言基础、集合框架、IO流、多线程、网络编程等多个核心领域,是成为一名合格Java开发者的基石。本文将围绕Core Java的练习题与编程规范...
而Lucene,作为开源Java库,是构建全文搜索引擎的核心框架,它为开发者提供了强大的文本搜索功能。本文将围绕"Lucene-core-2.0.0.jar"这一核心组件,深入探讨Lucene的原理、应用以及其在2.0.0版本中的特性。 Lucene...
在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...
在core-java存储库中,可能包含了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序)、搜索算法(如线性搜索、二分搜索)以及其他算法(如递归、动态规划)的实现。熟悉这些算法有助于提高代码的性能...
### Core Java -sd0808-chuanjiang2 #### 多态 - **定义**:多态是面向对象编程中的一个重要特性,它允许子类对象替换为父类对象,从而使得程序更加灵活和可扩展。 - **实现方式**: - **重写**:子类中重新定义...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
"CoreJava学习(集合)"这个主题聚焦于Java的核心部分,特别是它的集合框架,这是Java编程中不可或缺的一部分。集合框架是Java提供的用于存储、管理和操作对象的API(应用程序接口)。 集合框架包括各种接口(如List...