提供された最初の並べ替えコードでは、比較におけるフィールドの連結並べ替えのためにフィールドを分離することが困難になります。これを修正するには、フィールド間にスペースを追加することを検討してください。あるいは、次の代替案を検討することもできます:
Collections.sort(reportList, Comparator.comparing(Report::getReportKey)
.thenComparing(Report::getStudentNumber) .thenComparing(Report::getSchool));
ComparatorChainchain = new ComparatorChain(Arrays.asList(
new BeanComparator) ("サイズ")、
新しい BeanComparator("nrOfToppings")、
新しい BeanComparator("名前")));
Collections.sort(ピザ、チェーン); >
Collections.sort(pizzas, new Comparator
@Override public int compare(Pizza p1, Pizza p2) { return ComparisonChain.start().compare(p1.size, p2.size).compare(p1.nrOfToppings, p2.nrOfToppings).compare(p1.name, p2.name).result(); }
} );
@Override public int compare(Pizza p1, Pizza p2) { return new CompareToBuilder().append(p1.size, p2.size).append(p1.nrOfToppings, p2.nrOfToppings).append(p1.name, p2.name).toComparison(); }
以上がJavaで複数のフィールドを持つオブジェクトのリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。