से जावा में डायरेक्ट तुलनित्र मेरे पास एक विधि है जिसके लिए इसके पैरामीटर में से एक के लिए Comparator
की आवश्यकता है। मैं Comparator
पास करना चाहता हूं जो सामान्य तुलना करता है और रिवर्स तुलनित्र जो विपरीत में करता है।बॉक्स में
java.util.Collections
reverseOrder()
प्रदान करता है यह विपरीत तुलना के लिए अच्छा है, लेकिन मुझे कोई सामान्य Comparator
नहीं मिला।
मेरे दिमाग में जो एकमात्र समाधान आया वह Collections.reverseOrder(Collections.reverseOrder())
है। लेकिन मुझे यह पसंद नहीं है क्योंकि डबल विधि अंदर कॉल कर रही है।
बेशक मैं एक NormalComparator
इस प्रकार लिख सकते:
public class NormalComparator<T extends Comparable> implements Comparator<T> {
public int compare(T o1, T o2) {
return o1.compareTo(o2);
}
}
लेकिन मैं वाकई हैरान है कि जावा बॉक्स से बाहर इस के लिए एक समाधान नहीं है हूँ।
यह मेरी विधि है इसलिए इसका प्राकृतिक क्रम नहीं है। (असल में यह है, क्योंकि मैंने इसे काम करने के लिए लिखा था, लेकिन मैं नहीं चाहता था, मैं एक अच्छे समाधान की तलाश में हूं) –
और हाँ, मैंने इसे लिखा क्योंकि मैंने 'हैश्री' के स्रोत को देखा। –
@ करासाज़ी: जो 'हैश्री' क्या आप बात कर रहे हैं? जावा एसई में ऐसी कोई कक्षा नहीं है। क्या आपका मतलब 'ट्रीमैप' था? –