Tôi có một phương thức cần Comparator
cho một trong các tham số của nó. Tôi muốn chuyển một số điện thoại Comparator
thực hiện việc so sánh bình thường và một số so sánh đảo ngược làm ngược lại.So sánh trực tiếp trong Java ra khỏi hộp
java.util.Collections
cung cấp reverseOrder()
điều này là tốt để so sánh ngược lại, nhưng tôi không thể tìm thấy bất kỳ thông thường Comparator
.
Giải pháp duy nhất trong đầu tôi là Collections.reverseOrder(Collections.reverseOrder())
. nhưng tôi không thích nó bởi vì phương pháp kép gọi bên trong.
Dĩ nhiên tôi có thể viết một NormalComparator
như thế này:
public class NormalComparator<T extends Comparable> implements Comparator<T> {
public int compare(T o1, T o2) {
return o1.compareTo(o2);
}
}
Nhưng tôi thực sự ngạc nhiên rằng Java không có một giải pháp cho điều này ra khỏi hộp.
Đó là phương pháp của tôi để nó không có thứ tự tự nhiên. thực sự nó có, bởi vì tôi đã viết nó để làm việc, nhưng tôi không muốn, tôi đang tìm kiếm một giải pháp đẹp hơn) –
Và có, tôi đã viết nó bởi vì tôi đã tìm nguồn gốc của 'HashTree'. –
@KARASZI: 'HashTree' là bạn đang nói về? Không có lớp như vậy trong Java SE.Bạn có nghĩa là' TreeMap'? –