यह ट्यूटोरियल चर्चा करेगा कि जावा में 2D सरणियों को कैसे सॉर्ट किया जाए।
Java में 2D Array कैसे सॉर्ट करें?
जावा में, आप 2D सरणी का उपयोग करके सॉर्ट कर सकते हैं:
अब हम प्रत्येक उल्लिखित विधियों पर एक-एक करके चर्चा करेंगे।
विधि 1: जावा में 2D सरणी की पंक्ति-वार छँटाई
पंक्ति-वार छँटाई में, आप 'का उपयोग कर सकते हैं' ऐरे.सॉर्ट () 'सरणी तत्वों को सॉर्ट करने की विधि। यह एक विशिष्ट पंक्ति के प्रत्येक तत्व को पुनरावृत्त करता है और जब वर्तमान तत्व अगले तत्व से बड़ा होता है तो पूर्णांक को स्वैप करता है।
आइए कार्यान्वयन पक्ष को समझने के लिए एक उदाहरण देखें।
उदाहरण
इस उदाहरण में, पहले हम एक स्टैटिक मेथड बनाएंगे ” पंक्तिवार छँटाई () 'कॉल करके सरणी को आरोही क्रम में क्रमबद्ध करने के लिए' Arrays.sort () 'सरणी वर्ग की विधि और फिर' का उपयोग करके सरणी के क्रमबद्ध तत्वों को प्रिंट करें के लिये 'लूप:
के लिये ( पूर्णांक मैं = 0 ; मैं < गिरफ्तार लंबाई ; मैं ++ ) {
सरणियाँ। क्रम से लगाना ( आगमन [ मैं ] ) ;
}
के लिये ( पूर्णांक मैं = 0 ; मैं < गिरफ्तार लंबाई ; मैं ++ ) {
के लिये ( पूर्णांक जे = 0 ; जे < आगमन [ मैं ] . लंबाई ; जे ++ ) {
व्यवस्था। बाहर . प्रिंट ( आगमन [ मैं ] [ जे ] + '' ) ;
}
व्यवस्था। बाहर . प्रिंट्लन ( ) ;
}
वापसी 0 ;
}
यहाँ, हमारे पास एक 2D सरणी है जिसका नाम “ आगमन 3×3 मैट्रिक्स फॉर्म (तीन पंक्तियाँ और तीन कॉलम) का। अब, बनाए गए सरणी की पंक्तियों को सॉर्ट करने के लिए, हम विधि को कॉल करेंगे ' पंक्तिवार छँटाई () मुख्य () विधि में एक तर्क के रूप में सरणी पास करके:
जनता स्थिर शून्य मुख्य ( डोरी [ ] args ) {
पूर्णांक आगमन [ ] [ ] = नया पूर्णांक [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , बीस } ,
{ 28 , 25 , 8 } ,
{ ग्यारह , 5 , 1 } } ;
पंक्तिवार छँटाई ( आगमन ) ;
}
}
जैसा कि आप देख सकते हैं, हमने अपनी सरणी को आरोही क्रम में क्रमबद्ध किया है:
जावा में कॉलम-वार सॉर्टिंग का प्रयास करना चाहते हैं? निम्नलिखित अनुभाग पर एक नज़र डालें।
विधि 2: Java में 2D Array की कॉलम-वार छँटाई
जावा में कॉलम-वार एक 2D ऐरे को सॉर्ट करने के लिए, 'कॉल करें' Arrays.sort () 'विधि के साथ' तुलनित्र इंटरफ़ेस ' एक तुलनित्र इंटरफ़ेस परिभाषित करता है ' तुलना करना() 'विधि जो दो मापदंडों को स्वीकार करती है और फिर उनकी एक दूसरे से तुलना करती है। यदि पारित पैरामीटर बराबर हैं, तो यह शून्य लौटाता है। यदि पहला पैरामीटर दूसरे पैरामीटर से बड़ा है, तो यह एक सकारात्मक मान देता है। यदि नहीं, तो ऋणात्मक मान वापस कर दिया जाता है।
उदाहरण
इस उदाहरण में, हम 'नामक एक विधि बनाएंगे' कॉलमवाइजसॉर्टिंग () 'दो तर्कों के साथ, एक 2D सरणी' गिरफ्तार [] [] 'और' नाम का एक कॉलम नंबर अवलोकन ' फिर, कॉल करें ' Arrays.sort () 'विधि' के साथ तुलनित्र इंटरफ़ेस 'एक कॉलम के मूल्यों की तुलना करने के लिए। अंत में, हम 'का उपयोग करके सरणी के सॉर्ट किए गए कॉलम के मानों को प्रिंट करेंगे' के लिये 'लूप:
सरणियाँ। क्रम से लगाना ( आगमन , नया तुलनित्र < पूर्णांक [ ] > ( ) {
जनता पूर्णांक तुलना करना ( पूर्णांक [ ] फ्रस्ट , पूर्णांक [ ] एसएनडी ) {
यदि ( फ्रस्ट [ अवलोकन - 1 ] > एसएनडी [ अवलोकन - 1 ] ) {
वापसी 1 ;
}
वरना वापसी - 1 ;
}
} ) ;
}
के लिये ( पूर्णांक मैं = 0 ; मैं < गिरफ्तार लंबाई ; मैं ++ ) {
के लिये ( पूर्णांक जे = 0 ; जे < आगमन [ मैं ] . लंबाई ; जे ++ ) {
व्यवस्था। बाहर . प्रिंट ( आगमन [ मैं ] [ जे ] + '' ) ;
}
व्यवस्था। बाहर . प्रिंट्लन ( ) ;
}
हम पहले से बनाई गई सरणी का उपयोग करेंगे जिसका नाम ' आगमन 'और इसे' पास करें कॉलमवाइजसॉर्टिंग () 'पहले पैरामीटर के रूप में और' 1 'दूसरे पैरामीटर के रूप में:
स्तंभवार छँटाई ( आगमन , 1 ) ;
ऊपर दिए गए प्रोग्राम का निष्पादन हमारे 2D सरणी के पहले कॉलम को सॉर्ट करेगा:
हम जावा में 2डी सरणी को सॉर्ट करने के लिए सभी आवश्यक जानकारी संकलित करते हैं।
निष्कर्ष
जावा में, एक 2D सरणी को आवश्यकता के अनुसार पंक्ति-वार या स्तंभ-वार क्रमबद्ध किया जा सकता है। पंक्ति-वार छँटाई के लिए, केवल Array.sort() पद्धति का उपयोग किया जाता है; हालाँकि, स्तंभ-वार छँटाई में, Array.sort () विधि को तुलनित्र इंटरफ़ेस के साथ कहा जाता है। पंक्ति-वार सॉर्टिंग के लिए, Array.sort() विधि को कोई पैरामीटर पास नहीं किया जाता है, जबकि, कॉलम-वार सॉर्टिंग विधि में, सॉर्ट किए जाने वाले कॉलम की संख्या को पैरामीटर के रूप में उल्लिखित किया जाता है। इस ट्यूटोरियल में उदाहरणों के साथ जावा में 2डी ऐरे को सॉर्ट करने के तरीकों पर चर्चा की गई है।