1
基本的に私は、手数料、給与、および時間従業員を持つ従業員配列を持っています。私は従業員のアルファベット順リストを表示する必要があります。姓が同じ場合は、最初の名前もアルファベット順にする必要があります。これをどうやって行うのですか?compareTo(String)を使用して配列の文字列をアルファベット順に並べ替えますか?
基本的に私は、手数料、給与、および時間従業員を持つ従業員配列を持っています。私は従業員のアルファベット順リストを表示する必要があります。姓が同じ場合は、最初の名前もアルファベット順にする必要があります。これをどうやって行うのですか?compareTo(String)を使用して配列の文字列をアルファベット順に並べ替えますか?
Arrays.sort(employees, new Comparator<Employee>() {
public int compare(Employee a, Employee b) {
int cmp = a.getLastName().compareTo(b.getLastName());
if (cmp == 0) {
cmp = a.getFirstName().compareTo(b.getFirstName());
}
return cmp;
}
});
あるいは、より読みやすく、少ないバグが発生しやすい何かを得るためにGuavaを使用して、
Arrays.sort(employees, new Comparator<Employee>() {
public int compare(Employee a, Employee b) {
return ComparisonChain.start()
.compare(a.getLastName(), b.getLastName())
.compare(a.getFirstName(), b.getFirstName())
.result();
}
});
あなたの配列は正確には何が含まれていますか?あなたが言及した値を持つオブジェクトの配列ですか、何ですか?また、名前を含む配列については言及していないので、どこから来たのでしょうか? – John3136
配列には姓と名があります。 – kel