বাছাই করা এবং অর্ডার করা সংগ্রহের মধ্যে কি কোনও পার্থক্য রয়েছে ?
বাছাই করা এবং অর্ডার করা সংগ্রহের মধ্যে কি কোনও পার্থক্য রয়েছে ?
উত্তর:
একটি সংগ্রহ আদেশ মানে যে সংগ্রহে উপাদান একটি নির্দিষ্ট অর্ডার রয়েছে। অর্ডার মান থেকে পৃথক। একটি তালিকা একটি উদাহরণ।
একটি বাছাই করা সংগ্রহের অর্থ হ'ল কেবল সংগ্রহের অর্ডার নেই, তবে ক্রমটি উপাদানটির মানের উপর নির্ভর করে। একটি সাজানোসেট একটি উদাহরণ।
বিপরীতে, কোনও আদেশ ছাড়াই সংগ্রহ কোনও ক্রমে উপাদানগুলি বজায় রাখতে পারে। একটি সেট একটি উদাহরণ।
জাভা "অর্ডারড কালেকশন" ব্যবহার করে যেমন লিস্টের মতো একটি সংগ্রহ বোঝায়, যেখানে (হ্যাশসেটের বিপরীতে) সংগ্রহটি মনে পড়ে যে উপাদানগুলি কোন ক্রমে থাকা উচিত So সুতরাং উপাদানগুলিকে ক্রমে নির্দিষ্ট কোনও "স্থানে" সংগ্রহের সাথে যুক্ত করা যেতে পারে ।
জাভা "সাজানো সংগ্রহ" এর অর্থ সংগ্রহ হিসাবে বোঝা যায় যেমন सॉোর্টসেট, যেখানে (তালিকার বিপরীতে), পুনরুক্তিটি যে আদেশটিকে সংগ্রহ করে সেটিকে একটি নির্দিষ্ট তুলক বা উপাদানগুলির প্রাকৃতিক ক্রম অনুসারে হয়।
সুতরাং পার্থক্যটি হ'ল ক্রমটি মানগুলির উপর নির্ভর করে ("সাজানো"), বা এমন একটি সম্পত্তি যা উপাদানগুলি তাদের মানের ("অর্ডার করা") থেকে স্বাধীনভাবে রয়েছে।
OrderedDict
পাইথন হবে। কিন্তু .NET এ জন্য ইন্টারফেস "সাজানো" গণনীয় বলা হয় IOrderedEnumerable
। সুতরাং এটি নির্ভর করে। শুধু বলছি ..
হ্যাঁ, যদিও ধারণাগুলি একই রকম।
List
অর্ডার করা সংগ্রহ: প্রতিটি উপাদানের একটি সূচক থাকে যা উপাদানগুলির ক্রম তৈরি করে তবে সাধারণত উপাদানগুলির নিজস্ব কোনও সম্পত্তির সাথে সম্পর্কিত হয় না।
SortedMap
এবং SortedSet
সংগ্রহগুলি বাছাই করা হয় যার অর্থ সংগ্রহের মাধ্যমে পুনরাবৃত্তি উপাদানগুলির নিজস্ব থেকে প্রাপ্ত ক্রমের মধ্যে ঘটবে। উদাহরণস্বরূপ, আপনার যদি একটি থাকে SortedSet<String>
তবে স্ট্রিংসটি অভিধান সংক্রান্ত সাজানো ক্রম অনুসারে বাছাই করা হবে।
আদেশ সংগ্রহে পারেন সাজাতে হবে কিন্তু হতে হবে না (ব্যবহার করে পরে যেমন Collections.sort()
) যখন বাইরের ক্রম উপাদান 'সাজানোর ক্রম সঙ্গে অভিন্ন। একটি বাছাই করা সংগ্রহ সর্বদা সুস্পষ্টভাবে অর্ডার করা হয় (যেমন সর্বদা একটি "প্রথম" উপাদান থাকে এবং আপনি যতক্ষণ না আরও ছোট সংযুক্ত করেন ততক্ষণ এটি সর্বদা সমান হয়) smaller
অর্ডার করা সংগ্রহ হ'ল এমন একটি সংগ্রহ যা প্রতিটি উপাদান সন্নিবেশ করা হয় যা ধারাবাহিক সূচকের উপর নজর রাখে।
একটি সাজানো সংগ্রহ হ'ল একটি অর্ডার করা সংগ্রহ হয় যখন তুলনামূলক ইন্টারফেসের ব্যবহারের সময় ক্রমটি সন্নিবেশ করানো উপাদানটির মানের উপর নির্ভর করে যা আপনাকে বাছাইয়ের মানদণ্ড সংজ্ঞায়নের জন্য একটি পদ্ধতি সরবরাহ করে।
আমি আশা করি এটি সাহায্য করতে পারে।
অনুসারে বাছাই করা তুলনাযোগ্য বা তুলনাকারীর প্রয়োগ অনুযায়ী আদেশ প্রদান করবে। আদেশ দিয়ে বোঝানো হবে যে এটি সন্নিবেশ আদেশ বা আদেশের কিছু সংজ্ঞা যা ধারাবাহিক এবং সংজ্ঞায়িত, তবে অন্যথায় নির্বিচারে অনুসরণ করছে।
সুতরাং স্ট্রিং ডটকমের পার্টটো পদ্ধতি অনুসারে স্ট্রিংয়ের একটি বাছাই করা তালিকা সাজানো হবে। একটি তালিকায় যথেচ্ছ ক্রমে strোকানো স্ট্রিংগুলির একটি তালিকা থাকতে পারে তবে এই ক্রমটি সর্বদা একই থাকবে।
সংগ্রহ তালিকাতে অবশ্যই একটি তালিকা সাজানোর জন্য পদ্ধতি রয়েছে।
একটি বাছাই করা সংগ্রহের অর্থ সাধারণত অ্যালগরিদমগুলি কাজ করে এমন উপাদানগুলির বৈশিষ্ট্য (গুলি) এর উপর নির্ভর করে উপাদানগুলি ন্যূনতম মান থেকে ম্যাক্সিনাম মান বা তদ্বিপরীতভাবে সাজানো হয়।
একটি পূর্ণসংখ্যা সংগ্রহের জন্য, বাছাই করা কোনও ব্যক্তির সংগ্রহের জন্য ন্যূনতম সংখ্যা থেকে সর্বোচ্চ সংখ্যায় হতে পারে, এটি ব্যক্তির উচ্চতা বা ব্যক্তির ওজন ইত্যাদির দ্বারা ছাঁকানো হতে পারে etc.
অর্ডার সম্পর্কে কথা বলার সময় এর অর্থ সাধারণত সন্নিবেশের ক্রম হয়। বাছাইয়ের পরে অর্ডার পরিবর্তন করা যেতে পারে
সাজানো সংগ্রহ বনাম অর্ডার সংগ্রহ
1. সংগৃহীত সংগ্রহ
একটি বাছাই করা সংগ্রহ জাভা সংগ্রহের কাঠামোর দ্বারা সরবরাহিত বাছাই করা বৈশিষ্ট্যগুলি ব্যবহার করে একটি সংগ্রহকে বাছাই করছে। জাভা তুলক ব্যবহার করে ডাটাবেস থেকে ডেটা পড়ার পরে, জেভিএম এর স্মৃতিতে বাছাই হয় which
যদি আপনার সংগ্রহটি বড় না হয় তবে এটি বাছাই করার পক্ষে এটি আরও কার্যকর উপায়। এটি যেমন jvm মেমরিতে ঘটে তাই এটি আউট অফ মেমরি ত্রুটি ফেলে দিতে পারে।
2. অর্ডার সংগ্রহ
অর্ডার সংগ্রহ পুনরুদ্ধার করার সময় এই সংগ্রহটি বাছাই করার জন্য কোয়েরিতে ক্রম-ক্রমটি সুনির্দিষ্ট করে একটি সংগ্রহকে বাছাই করছে। যদি আপনার সংগ্রহটি খুব বড় হয় তবে এটি বাছাই করার পক্ষে এটি আরও কার্যকর উপায়। এটি বাছাই করা সংগ্রহের তুলনায় দ্রুত।
IOrderedEnumerable
(মজার ব্যাপার তার খুব .NET। একটি "সন্নিবেশ অর্ডার" .NET মধ্যে respectin অভিধান বলা হয় সঙ্গতিপূর্ণ নয়OrderedDictionary
, যা কিছু মুমিন, তারা বলেঃ তুলনায় একটা আসল নয় হয়IndexedDictionary
) । হ্যাঁ জাভা জগতে (বেশিরভাগ জায়গায় অন্যত্রও) তারা বোঝাতে চেয়েছে যে উত্তরগুলিতে আপনার কী আছে। আরো জানার জন্য দেখুন এখানে ।