2017-02-02 9 views
1

Javaでオブジェクト配列をソートしようとしています。私は例のために作成した:次にオブジェクト配列をインスタンス変数に基づいて昇順にソートする方法

Employee[] hourly = new Employee[]; 

nameidhourly payためのユーザ入力値を持っていました。このようなその後intとdoubleとしてhourly payよう刺さidとしてnameを格納

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

を尋ねるなど。そこからオブジェクト配列Employeeを昇順で時間単位でソートする必要がありました。

コンパレータまたは配列リストなしでこれを行う必要があります。

+3

あなたは比較のために設計されたツールのいずれかを使用したくない理由の任意の理由は? – AntonH

+1

だからあなたはまだ*任意のソートアルゴリズムを実装しようとしましたか? –

+0

"コンパレータやアレイリストなしでこれをやりたいそれは、フック、ネット、または槍なしで釣りに行くようなものです。言語が提供するツールを使用してみませんか?しかし、あなたが本当に組み込みのツールを使用したくない場合は、あなた自身のソートを書く:bubblesort、挿入ソート、クイックソートなど –

答えて

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

OR

でそれを並べ替え、あなたのEmployeeクラスはComparableを実装させることができますいずれか

オブジェクト。どのようにソートするかは、整数配列のソートに似ています。代わりに、書き込みの例については

..

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

あなたが書くことになります。..

if(employee[i].getHourlyPay() < min) 
関連する問題