इसी प्रकार के प्रश्न देखें: How to make HashMap work with Arrays as key?ArrMap को Arrays के साथ कुंजी के रूप में कैसे काम करें?
लेकिन मैं ((int key1, int key2) -> String)
तरह ट्री-मैप की जरूरत है, की तुलना key1
तो key2
की तुलना।
मेरे समाधान है:
Map<int[], String> map = new TreeMap<>(Comparator.
<int[]>comparingInt(key -> key[0]).thenComparingInt(key -> key[1]));
लेकिन जब मैं ((int key1, int key2, int key3) -> String
की जरूरत है, मैं और अधिक लिखना चाहिए।
क्या मनमाने ढंग से लंबाई वाले सरणी के लिए तुलनात्मक उत्पन्न करने का कोई तरीका है?
शायद सबसे अच्छा तरीका सिर्फ लिखने के लिए एक 'Comparator' कि वास्तव में क्या करता होगा। मुझे संदेह है कि लैम्बदास के साथ उचित और समझदारी से किया जा सकता है। यदि आप इसे लैम्ब्डा के साथ कर सकते हैं, तो इसके लिए जाएं, लेकिन व्यक्तिगत रूप से मैं नियमित जावा का उपयोग करता हूं। – Obicere