2009-07-05 12 views
88

क्रमबद्ध और के बीच कोई अंतर नहीं है संग्रह?आदेशित और क्रमबद्ध संग्रह के बीच क्या अंतर है?

+0

सॉर्ट करने के बाद ऑर्डर बदला जा सकता है, यहां जवाब भी शाब्दिक रूप से न लें। हालांकि, इस तरह की परिभाषा व्यापक रूप से समझी जाती है और स्वीकार की जाती है, यह कंप्यूटर शब्दावली में वास्तविक परिभाषा नहीं है। उदाहरण के लिए, .NET में "क्रमबद्ध" गणना के लिए इंटरफ़ेस को 'IOrderedEnumerable' * कहा जाता है * (मजेदार बात यह .NET में बहुत संगत नहीं है। एनईटी में एक "सम्मिलन आदेश" सम्मान शब्दकोश को' ऑर्डर्ड डिक्शनरी 'कहा जाता है जिसे कुछ मानते हैं कहने की तुलना में एक गलत नामक, 'इंडेक्सड डिक्शनरी') *। हां जावा दुनिया में (ज्यादातर अन्यत्र भी) उनका मतलब है कि आप जवाब में क्या हैं। अधिक देखने के लिए [यहां] (http://stackoverflow.com/questions/1022269)। – nawfal

उत्तर

60

एक आदेश दिया गया संग्रह आपके द्वारा सामान में रखे गए अनुक्रम के आधार पर तत्वों के क्रम को बनाए रखता है।

एक क्रमबद्ध संग्रह एक प्रकार के मानदंडों के आधार पर तत्वों को क्रमबद्ध रखता है।

+1

सरल और स्पष्ट उत्तर। –

119

एक आदेश दिया गया संग्रह का अर्थ है कि संग्रह के तत्वों का एक विशिष्ट क्रम है। आदेश मूल्य से स्वतंत्र है। एक List एक उदाहरण है।

क्रमबद्ध संग्रह का अर्थ है कि संग्रह में केवल आदेश ही नहीं है, लेकिन ऑर्डर तत्व के मान पर निर्भर करता है। एक SortedSet एक उदाहरण है।

इसके विपरीत, किसी भी आदेश के बिना संग्रह किसी भी क्रम में तत्वों को बनाए रख सकता है। एक Set एक उदाहरण है।

+0

प्राथमिकता कतार एक आदेशित संग्रह है? – overexchange

10

जावा "संग्रहित संग्रह" का उपयोग सूची जैसे संग्रह, जहां (हैशसेट के विपरीत) का मतलब है, संग्रह याद करता है कि तत्वों को किस क्रम में होना चाहिए। इसलिए तत्वों को किसी विशेष स्थान पर संग्रह में जोड़ा जा सकता है " क्रम में।

जावा सॉर्टेडसेट जैसे संग्रह के लिए "क्रमबद्ध संग्रह" का उपयोग करता है, जहां (सूची के विपरीत), ऑर्डरेटर संग्रह को ट्रैवर्स करता है, यह निर्दिष्ट तुलनाकर्ता या तत्वों के प्राकृतिक क्रम के अनुसार होता है।

तो अंतर यह है कि आदेश मूल्यों ("क्रमबद्ध") पर निर्भर करता है, या यह एक ऐसी संपत्ति है जो तत्वों के स्वतंत्र रूप से उनके मूल्य ("आदेश दिया गया") है।

+1

"जावा" का उल्लेख करने के लिए अच्छा जवाब और +1। इसकी * kinda * अधिकांश स्थानों में स्वीकृत परिभाषा भी है, जैसे कि अजगर में 'ऑर्डर्ड डिक्ट'। लेकिन .NET में "क्रमबद्ध" गणना के लिए इंटरफ़ेस को 'IOrderedEnumerable' कहा जाता है। तो यह निर्भर करता है। बस केह रहा हू.. – nawfal

2

सॉर्ट किया गया तुलनात्मक या तुलनात्मक के कार्यान्वयन के अनुसार आदेश देना होगा। आदेश दिया गया है कि यह सम्मिलन आदेश या आदेश की कुछ अन्य परिभाषा का पालन कर रहा है जो लगातार और परिभाषित है, लेकिन अन्यथा मनमाने ढंग से।

तो तारों की एक क्रमबद्ध सूची स्ट्रिंग.comपारे टो विधि के अनुसार क्रमबद्ध की जाएगी। एक सूची में मनमानी क्रम में डाले गए तारों की एक सूची हो सकती है, लेकिन वह आदेश हमेशा वही रहेगा।

बेशक एक सूची क्रमबद्ध करने के लिए संग्रह वर्ग पर विधियां हैं।

6

हां, हालांकि अवधारणाएं समान हैं।

List एक आदेश दिया गया संग्रह है: प्रत्येक तत्व में एक अनुक्रमणिका होती है, जो तत्वों का क्रम बनाती है, लेकिन आमतौर पर तत्वों की किसी भी संपत्ति से संबंधित नहीं होती है।

SortedMap और SortedSet संग्रहों को क्रमबद्ध किया गया है, जिसका अर्थ है कि संग्रह के माध्यम से पुनरावृत्ति तत्वों से प्राप्त अनुक्रम में होगा। उदाहरण के लिए, यदि आपके पास SortedSet<String> है तो स्ट्रिंग्स को लेक्सिकोोग्राफ़िकल सॉर्ट ऑर्डर के अनुसार क्रमबद्ध किया जाएगा।

एक आदेश दिया संग्रह हल हो सकता है, लेकिन हो सकता है की जरूरत नहीं है जब बाहरी आदेश तत्वों 'सॉर्ट क्रम के समान है (उदाहरण के लिए Collections.sort() उपयोग करने के बाद)। एक क्रमबद्ध संग्रह हमेशा निहित आदेश दिया जाता है (यानी।हमेशा एक "पहला" तत्व होता है, और यह तब तक वही रहता है जब तक आप एक और छोटा नहीं जोड़ते)।

3

एक संग्रह का आदेश दिया एक संग्रह है कि एक लगातार सूचकांक जो हर तत्व में डाला जाता है का ट्रैक रखने के लिए है।

एक हल कर संग्रह एक आदेश दिया संग्रह है जब आदेश अतिरिक्त में सम्मिलित करने के लिए तत्व का मान पर निर्भर करता है , तुलनात्मक इंटरफ़ेस के उपयोग के दौरान जो आपको सॉर्टिंग मानदंड को परिभाषित करने के लिए एक विधि प्रदान करता है।

मुझे उम्मीद है कि इससे मदद मिल सकती है।

0

एक क्रमबद्ध संग्रह आमतौर पर तत्वों को कम से कम तत्वों से अधिकतम मूल्य या इसके विपरीत तत्वों की विशेषता (ओं) के आधार पर क्रमबद्ध किया जाता है, जिन पर एल्गोरिदम काम करते हैं।

एक interger संग्रह के लिए

, हल कर एक व्यक्ति को एकत्र करने के लिए अधिकतम संख्या मिनट नंबर से हो सकता है, यह आदि व्यक्तियों की ऊंचाई या व्यक्तियों के वजन, द्वारा sored किया जा सकता है

आदेश के बारे में जब बात कर , आमतौर पर इसका मतलब सम्मिलन का क्रम होता है।

संबंधित मुद्दे