অর্ডার করা বা সাজানো সংগ্রহের মধ্যে পার্থক্য কী?


132

বাছাই করা এবং অর্ডার করা সংগ্রহের মধ্যে কি কোনও পার্থক্য রয়েছে ?


1
উত্তরগুলি এখানে খুব আক্ষরিকভাবে নেবেন না। যদিও এটি সেই ধরণের সংজ্ঞা যা ব্যাপকভাবে বোঝা যায় এবং স্বীকৃত, কম্পিউটার টার্মিনোলজিতে এটির ডিফেক্টো সংজ্ঞা নয়। যেমন জন্য .NET মধ্যে "সাজানো" গণনীয় বলা হয় জন্য ইন্টারফেস IOrderedEnumerable (মজার ব্যাপার তার খুব .NET। একটি "সন্নিবেশ অর্ডার" .NET মধ্যে respectin অভিধান বলা হয় সঙ্গতিপূর্ণ নয় OrderedDictionary, যা কিছু মুমিন, তারা বলেঃ তুলনায় একটা আসল নয় হয় IndexedDictionary) । হ্যাঁ জাভা জগতে (বেশিরভাগ জায়গায় অন্যত্রও) তারা বোঝাতে চেয়েছে যে উত্তরগুলিতে আপনার কী আছে। আরো জানার জন্য দেখুন এখানে
নওফাল

কিছু বাস্তবায়ন উদাহরণ যদি নামটি ভুল করে দেয় তবে এটির ত্রুটিটি প্রচার করার কোনও কারণ নেই। এটি একটি ভাল প্রশ্ন, ভাল উত্তর সহ। যথাযথ নামকরণ ব্যবহার করুন - নিজেকে সহ প্রত্যেকের জন্য বিভ্রান্তি হ্রাস করতে সহায়তা করে।
foo

উত্তর:


166

একটি সংগ্রহ আদেশ মানে যে সংগ্রহে উপাদান একটি নির্দিষ্ট অর্ডার রয়েছে। অর্ডার মান থেকে পৃথক। একটি তালিকা একটি উদাহরণ।

একটি বাছাই করা সংগ্রহের অর্থ হ'ল কেবল সংগ্রহের অর্ডার নেই, তবে ক্রমটি উপাদানটির মানের উপর নির্ভর করে। একটি সাজানোসেট একটি উদাহরণ।

বিপরীতে, কোনও আদেশ ছাড়াই সংগ্রহ কোনও ক্রমে উপাদানগুলি বজায় রাখতে পারে। একটি সেট একটি উদাহরণ।


1
অগ্রাধিকার সারি কি অর্ডার করা সংগ্রহ?
ওভাররেঞ্জচেং

@ সার্বভৌম এক্সচেঞ্জ উপরোক্ত সংজ্ঞাগুলি দেওয়া, বেশিরভাগ ক্ষেত্রে একটি অগ্রাধিকারের সারিটি বাছাই করা সংগ্রহ হতে পারে, যেহেতু প্রায় সবসময় অগ্রাধিকারটি সারিতে থাকা উপাদানগুলির সম্পত্তি হিসাবে সংজ্ঞায়িত হয়।
সিডেসেক

যদি সাজ্টসেট সেট থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয় এবং এর সাথে একটি সম্পর্ক রয়েছে তবে আপনি কীভাবে বলতে পারেন সেট কোনও আদেশ ছাড়াই রয়েছে
xpioneer

79

অর্ডার করা সংগ্রহ আপনি যে উপাদানগুলিতে স্টাফ রাখেন সেগুলি অনুসারে উপাদানগুলি ক্রম বজায় রাখে / সংগ্রহ থেকে সেগুলি সরিয়ে ফেলুন।

একটি বাছাই করা সংগ্রহগুলি সাজানোর মানদণ্ডের ভিত্তিতে উপাদানগুলিকে সাজানো রাখে।


18

জাভা "অর্ডারড কালেকশন" ব্যবহার করে যেমন লিস্টের মতো একটি সংগ্রহ বোঝায়, যেখানে (হ্যাশসেটের বিপরীতে) সংগ্রহটি মনে পড়ে যে উপাদানগুলি কোন ক্রমে থাকা উচিত So সুতরাং উপাদানগুলিকে ক্রমে নির্দিষ্ট কোনও "স্থানে" সংগ্রহের সাথে যুক্ত করা যেতে পারে ।

জাভা "সাজানো সংগ্রহ" এর অর্থ সংগ্রহ হিসাবে বোঝা যায় যেমন सॉোর্টসেট, যেখানে (তালিকার বিপরীতে), পুনরুক্তিটি যে আদেশটিকে সংগ্রহ করে সেটিকে একটি নির্দিষ্ট তুলক বা উপাদানগুলির প্রাকৃতিক ক্রম অনুসারে হয়।

সুতরাং পার্থক্যটি হ'ল ক্রমটি মানগুলির উপর নির্ভর করে ("সাজানো"), বা এমন একটি সম্পত্তি যা উপাদানগুলি তাদের মানের ("অর্ডার করা") থেকে স্বাধীনভাবে রয়েছে।


1
"জাভা" উল্লেখ করার জন্য ভাল উত্তর এবং +1। তার ধরণ খুব অধিকাংশ জায়গায়, মত গ্রহণযোগ্য সংজ্ঞা OrderedDictপাইথন হবে। কিন্তু .NET এ জন্য ইন্টারফেস "সাজানো" গণনীয় বলা হয় IOrderedEnumerable। সুতরাং এটি নির্ভর করে। শুধু বলছি ..
নওফাল

9

হ্যাঁ, যদিও ধারণাগুলি একই রকম।

List অর্ডার করা সংগ্রহ: প্রতিটি উপাদানের একটি সূচক থাকে যা উপাদানগুলির ক্রম তৈরি করে তবে সাধারণত উপাদানগুলির নিজস্ব কোনও সম্পত্তির সাথে সম্পর্কিত হয় না।

SortedMapএবং SortedSetসংগ্রহগুলি বাছাই করা হয় যার অর্থ সংগ্রহের মাধ্যমে পুনরাবৃত্তি উপাদানগুলির নিজস্ব থেকে প্রাপ্ত ক্রমের মধ্যে ঘটবে। উদাহরণস্বরূপ, আপনার যদি একটি থাকে SortedSet<String>তবে স্ট্রিংসটি অভিধান সংক্রান্ত সাজানো ক্রম অনুসারে বাছাই করা হবে।

আদেশ সংগ্রহে পারেন সাজাতে হবে কিন্তু হতে হবে না (ব্যবহার করে পরে যেমন Collections.sort()) যখন বাইরের ক্রম উপাদান 'সাজানোর ক্রম সঙ্গে অভিন্ন। একটি বাছাই করা সংগ্রহ সর্বদা সুস্পষ্টভাবে অর্ডার করা হয় (যেমন সর্বদা একটি "প্রথম" উপাদান থাকে এবং আপনি যতক্ষণ না আরও ছোট সংযুক্ত করেন ততক্ষণ এটি সর্বদা সমান হয়) smaller


5

অর্ডার করা সংগ্রহ হ'ল এমন একটি সংগ্রহ যা প্রতিটি উপাদান সন্নিবেশ করা হয় যা ধারাবাহিক সূচকের উপর নজর রাখে।

একটি সাজানো সংগ্রহ হ'ল একটি অর্ডার করা সংগ্রহ হয় যখন তুলনামূলক ইন্টারফেসের ব্যবহারের সময় ক্রমটি সন্নিবেশ করানো উপাদানটির মানের উপর নির্ভর করে যা আপনাকে বাছাইয়ের মানদণ্ড সংজ্ঞায়নের জন্য একটি পদ্ধতি সরবরাহ করে।

আমি আশা করি এটি সাহায্য করতে পারে।


2

অনুসারে বাছাই করা তুলনাযোগ্য বা তুলনাকারীর প্রয়োগ অনুযায়ী আদেশ প্রদান করবে। আদেশ দিয়ে বোঝানো হবে যে এটি সন্নিবেশ আদেশ বা আদেশের কিছু সংজ্ঞা যা ধারাবাহিক এবং সংজ্ঞায়িত, তবে অন্যথায় নির্বিচারে অনুসরণ করছে।

সুতরাং স্ট্রিং ডটকমের পার্টটো পদ্ধতি অনুসারে স্ট্রিংয়ের একটি বাছাই করা তালিকা সাজানো হবে। একটি তালিকায় যথেচ্ছ ক্রমে strোকানো স্ট্রিংগুলির একটি তালিকা থাকতে পারে তবে এই ক্রমটি সর্বদা একই থাকবে।

সংগ্রহ তালিকাতে অবশ্যই একটি তালিকা সাজানোর জন্য পদ্ধতি রয়েছে।


1

একটি বাছাই করা সংগ্রহের অর্থ সাধারণত অ্যালগরিদমগুলি কাজ করে এমন উপাদানগুলির বৈশিষ্ট্য (গুলি) এর উপর নির্ভর করে উপাদানগুলি ন্যূনতম মান থেকে ম্যাক্সিনাম মান বা তদ্বিপরীতভাবে সাজানো হয়।

একটি পূর্ণসংখ্যা সংগ্রহের জন্য, বাছাই করা কোনও ব্যক্তির সংগ্রহের জন্য ন্যূনতম সংখ্যা থেকে সর্বোচ্চ সংখ্যায় হতে পারে, এটি ব্যক্তির উচ্চতা বা ব্যক্তির ওজন ইত্যাদির দ্বারা ছাঁকানো হতে পারে etc.

অর্ডার সম্পর্কে কথা বলার সময় এর অর্থ সাধারণত সন্নিবেশের ক্রম হয়। বাছাইয়ের পরে অর্ডার পরিবর্তন করা যেতে পারে


0

সাজানো সংগ্রহ বনাম অর্ডার সংগ্রহ

1. সংগৃহীত সংগ্রহ

একটি বাছাই করা সংগ্রহ জাভা সংগ্রহের কাঠামোর দ্বারা সরবরাহিত বাছাই করা বৈশিষ্ট্যগুলি ব্যবহার করে একটি সংগ্রহকে বাছাই করছে। জাভা তুলক ব্যবহার করে ডাটাবেস থেকে ডেটা পড়ার পরে, জেভিএম এর স্মৃতিতে বাছাই হয় which

যদি আপনার সংগ্রহটি বড় না হয় তবে এটি বাছাই করার পক্ষে এটি আরও কার্যকর উপায়। এটি যেমন jvm মেমরিতে ঘটে তাই এটি আউট অফ মেমরি ত্রুটি ফেলে দিতে পারে।

2. অর্ডার সংগ্রহ

অর্ডার সংগ্রহ পুনরুদ্ধার করার সময় এই সংগ্রহটি বাছাই করার জন্য কোয়েরিতে ক্রম-ক্রমটি সুনির্দিষ্ট করে একটি সংগ্রহকে বাছাই করছে। যদি আপনার সংগ্রহটি খুব বড় হয় তবে এটি বাছাই করার পক্ষে এটি আরও কার্যকর উপায়। এটি বাছাই করা সংগ্রহের তুলনায় দ্রুত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.