2017-02-02 82 views
1

我想对Java中的对象数组进行排序。我已经例如创建:如何基于实例变量以升序对对象数组进行排序

Employee[] hourly = new Employee[]; 

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

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

然后存储name为刺痛idinthourly pay为双。从那里我需要按小时工资升序排列对象数组Employee

我想这样做没有比较器或数组列表。

+3

任何理由,你为什么不想为使用而设计的比较工具? – AntonH

+1

那么你是否试图自己实现*任何*排序算法呢? –

+0

“我想在没有比较器或数组列表的情况下执行此操作。”这很好,或者喜欢在没有钩子,网或矛的情况下钓鱼。为什么不使用该语言提供的工具?但是如果你真的不想使用内置的工具,那就编写你自己的排序:bubblesort,插入排序,快速排序等。 –

回答

1

我想这样做没有比较器或数组列表。

你可以让你的员工类实现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); 

OR

实现您在其中,根据每个员工的时薪自己的排序方法目的。你如何排序它的方式将类似于对整数数组进行排序。

例如,而不是写..

if (array[i] < min) //where array[i] is of type int 

你会写..

if(employee[i].getHourlyPay() < min) 
相关问题