2017-02-02 1 views
1

Java에서 객체 배열을 정렬하려고합니다. 나는 예를 들어 만들었습니다 인스턴스 변수를 기준으로 오름차순으로 객체 배열을 정렬하는 방법

Employee[] hourly = new Employee[]; 

그런 다음 name, id, hourly pay에 대한 사용자의 입력 값을했다.
System.out.println("Please enter employee name, id and hourly pay"); 

는 그런 함정 수사 intid 더블로 hourly payname를 저장 요청 등. 거기에서 오름차순으로 시간당 지불하여 객체 배열 Employee을 정렬해야했습니다.

비교기 또는 배열 목록없이이 작업을 수행하고 싶습니다.

+3

는 비교 용으로 설계된 도구 중 하나를 사용하지 않는 이유 모든 이유? – AntonH

+1

그래서 * * ​​정렬 알고리즘을 직접 구현하려고 시도 했습니까? –

+0

"비교기 또는 배열 목록없이이 작업을 수행하고 싶습니다." 그것은 친절하거나 낚싯줄, 그물 또는 창없이 낚시를가는 것과 같습니다. 왜 언어가 제공하는 도구를 사용하지 않습니까? 그러나 실제로 내장 도구를 사용하고 싶지 않은 경우에는 bubblesorts, insertion sort, quicksort 등 자신의 종류를 작성하십시오. –

답변

1

비교기 또는 배열 목록없이이 작업을 수행하고 싶습니다.

당신은 당신의 직원 클래스를 사용하면 정렬 각 직원의 시간당 임금에 따라 위치를 자신의 정렬 방법을 구현 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); 

또는

로 분류 한 다음 Comparable를 구현 할 수 있습니다 목적. 정렬 방법은 정수 배열을 정렬하는 것과 비슷합니다. 쓰는 대신 예를 들어

..

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

당신이 작성됩니다 ..

if(employee[i].getHourlyPay() < min) 
관련 문제