如何根据实例变量按升序对对象数组进行排序

时间:2017-02-02 17:43:20

标签: java arrays algorithm sorting

我试图用Java对对象数组进行排序。我创建了例如:

Employee[] hourly = new Employee[];

然后让用户输入nameidhourly pay的值。比如问

System.out.println("Please enter employee name, id and hourly pay"); 

然后将name存储为id inthourly pay为双倍。从那里我需要按小时按升序对对象数组Employee进行排序。

我想在没有比较器或数组列表的情况下这样做。

1 个答案:

答案 0 :(得分:1)

  

我想在没有比较器或数组列表的情况下这样做。

您可以让您的Employee类实现Comparable,然后使用Arrays.sort(employeeArray);

对其进行排序
public class Employee implements Comparable<Employee>
{
    //Constructors and other members not shown
    @Override
    public int compareTo(Employee e){
        return (getHourlyPay() - e.getHourlyPay());
    }
}
Arrays.sort(employeeArray);

实施您自己的排序方法,您可以根据每个员工对象的每小时工资进行排序。排序方式与排序整数数组类似。

例如,而不是写..

if (array[i] < min)  //where array[i] is of type int
你将写作..

if(employee[i].getHourlyPay() < min)