2016-10-15 3 views
-1

現在、私はcontactMgrクラスを持っている連絡先マネージャプロジェクトと連絡先情報を格納するcontactMgrクラス内の連絡先クラスに取り組んでいます。Javaでオブジェクトの配列を並べ替えます。

プログラムを開始するには、20個のインデックスを持つcontactMgr配列を作成します。次に、名前、電子メール、電話番号を含む連絡先を作成すると、それをcontactMgr配列に格納します。連絡先オブジェクトのすべてのフィールドは、文字列として格納されます。

contactMgr配列の連絡先オブジェクトを名前でアルファベット順に並べ替えるにはどうすればよいですか?

+0

'ContractMgr'が[' Comparable '](https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html)を実装してから、' 'Array.sort( yourContractMgrArray) '](https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#sort-java.lang.Object:A-)を参照してください。 – Turing85

答えて

0

あなたはこのためにArrays.sort(T[], Comparator<T>)を使用することができます。

ContactMgr[] contacts = ...; 
Arrays.sort(contacts, (ContactMgr left, ContactMgr right) 
    -> left.getName().compareTo(right.getName()) 
); 

それともContactMgrはすでにComparableインターフェイスを実装し、名前を比較すると、それが動作するかどうか、あなたはデフォルトのコンパレータとArrays.sort(contact)を呼び出すことができます。

+0

私はContactクラスでComparableインターフェイスを実装しようとしましたが、Arrays.sortの引数としてContactに渡させません。 – Pilpod

関連する問題