জাভা সংগ্রহ এবং তালিকার মধ্যে পার্থক্য কী?


153

জাভা Collectionএবং পার্থক্য কি List? আমি কখন ব্যবহার করব?


পাবলিক ইন্টারফেসের তালিকা সংগ্রহটি
extend

উত্তর:


263

প্রথম বন্ধ: ক Listহয় ক Collection। এটা একটা বিশেষ হয় Collectionতবে।

Collectionহ'ল: আইটেমের সংকলন। আপনি স্টাফ যুক্ত করতে, স্টাফ সরিয়ে নিতে, স্টাফের উপর পুনরাবৃত্তি করতে এবং সেখানে কতটা স্টাফ রয়েছে তা জিজ্ঞাসা করতে পারেন।

একজন Listএটি একটি জিনিস সংজ্ঞায়িত ক্রম সম্পর্কে তথ্য যোগ করেছেন: আপনি অবস্থানে উপাদান পেতে পারেন এন , আপনি অবস্থানে একটি উপাদান যোগ করতে পারেন এন , আপনি অবস্থানে উপাদান অপসারণ করতে পারেন এন

একটিতে Collectionআপনি এটি করতে পারবেন না: "এই সংগ্রহে 5 তম উপাদান" সংজ্ঞায়িত করা হয়নি, কারণ কোনও সংজ্ঞায়িত অর্ডার নেই।

এছাড়াও অন্যান্য বিশেষায়িত সংগ্রহ রয়েছে, উদাহরণস্বরূপ এমন একটি Setযা বৈশিষ্ট্যটি যুক্ত করে যে এটিতে কখনও কখনও একই উপাদান থাকবে না।


9
হ্যাঁ, তালিকাটি সংগ্রহের
আদেশিত বিশেষকরণ

2
জাভাতে তালিকা সংগ্রহের ইন্টারফেসকে প্রসারিত করে এবং ইনডেক্সড ফাংশনগুলি তৈরি করে যা অবস্থান ভিত্তিক পুনরুদ্ধার এবং অপসারণ আচরণে সহায়তা করে
ফ্রিক্টলেসপুলি

188

Collectionজাভা সংগ্রহের শ্রেণিবিন্যাসের মূল ইন্টারফেস। Listঅর্ডার সংগ্রহের সংজ্ঞা দেয় এমন একটি সাব ইন্টারফেস, অন্যান্য সাব ইন্টারফেসগুলি Queueসাধারণত প্রক্রিয়াকরণের জন্য প্রস্তুত উপাদান সংরক্ষণ করবে (যেমন স্ট্যাক )।

নিম্নলিখিত চিত্রটি বিভিন্ন জাভা সংগ্রহের ধরণের মধ্যে সম্পর্ককে প্রদর্শন করে:

জাভা সংগ্রহ


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

1
আমাকে অবশ্যই স্বীকার করতে হবে যে এই ছবিটি এই ব্লগ থেকে পোচ করা হয়েছিল । আমিও প্রথমে কেএন্ডবি এসসিজেপি বইতে এর মতো একটি চিত্র দেখলাম ।
ক্রোক

আপনি scjp সার্ট থেকে অনেক কিছু শিখতে পারবেন, এই বিষয়টির বেশিরভাগ বই অসাধারণ :)
atamanroman

আমার ধারণা Mapএক না Collection
জিয়ানিস ক্রিসটোফাকিস

7

এর উত্তর দেওয়ার জন্য জাভা এপিআই সেরা

সংগ্রহ

সংগ্রহের শ্রেণিবিন্যাসের মূল ইন্টারফেস। একটি সংগ্রহ বস্তুর একটি গোষ্ঠী প্রতিনিধিত্ব করে, এর উপাদান হিসাবে পরিচিত। কিছু সংগ্রহগুলি সদৃশ উপাদানগুলিকে এবং অন্যেরা তা অনুমোদন করে না। কিছু অর্ডার করা হয় এবং অন্যদের অর্ডার করা হয়। জেডিকে এই ইন্টারফেসের সরাসরি বাস্তবায়ন সরবরাহ করে না: এটি সেট এবং তালিকার মতো আরও নির্দিষ্ট সাব-ইন্টারফেসফেসের বাস্তবায়ন সরবরাহ করে। এই ইন্টারফেসটি সাধারণত চারপাশে সংগ্রহগুলি পাস করতে এবং সর্বাধিক সাধারণতা কাঙ্ক্ষিত যেখানে তাদের ম্যানিপুলেট করতে ব্যবহৃত হয়।

তালিকা (সংগ্রহ প্রসারিত)

অর্ডার করা সংগ্রহ (ক্রম হিসাবেও পরিচিত)। এই ইন্টারফেসটির ব্যবহারকারীর তালিকার প্রতিটি উপাদান সন্নিবেশ করা হয়েছে তার উপর যথাযথ নিয়ন্ত্রণ রয়েছে। ব্যবহারকারী তাদের পূর্ণসংখ্যা সূচক (তালিকার অবস্থান) দ্বারা উপাদানগুলিতে অ্যাক্সেস করতে এবং তালিকার উপাদানগুলির সন্ধান করতে পারে।

সেটগুলি থেকে পৃথক, তালিকাগুলি সাধারণত সদৃশ উপাদানগুলিকে মঞ্জুরি দেয়। আরও আনুষ্ঠানিকভাবে, তালিকাগুলি সাধারণত E1 এবং e2 উপাদানগুলির e1.equals (e2) এর জোড়া দেয় এবং তারা সাধারণত একাধিক নাল উপাদানকে মঞ্জুরি দেয় যদি তারা নাল উপাদানগুলিকে একেবারে অনুমতি দেয়। এটি অনিবার্য নয় যে কোনও ব্যক্তি নকলকে নিষিদ্ধ করার জন্য কোনও তালিকা কার্যকর করতে ইচ্ছুক হতে পারে যখন ব্যবহারকারী তাদের runোকানোর চেষ্টা করে রানটাইম ব্যতিক্রম ছুঁড়ে ফেলে তবে আমরা এই ব্যবহারটি বিরল বলে আশা করি be


3

তালিকা এবং সেট সংগ্রহের দুটি সাবক্লাস।

তালিকায়, ডেটা নির্দিষ্ট ক্রমে থাকে।

সেট ইন, এটি একই তথ্য দুইবার থাকতে পারে না।

সংগ্রহে, এটি কোনও নির্দিষ্ট ক্রম ছাড়াই ডেটা সঞ্চয় করে এবং সদৃশ ডেটা থাকতে পারে।


2

সংগ্রহ হ'ল একটি উচ্চ-স্তরের ইন্টারফেস যা জাভা অবজেক্টগুলিকে বর্ণনা করে যা অন্যান্য অবজেক্টের সংগ্রহ থাকতে পারে। এটি কীভাবে অ্যাক্সেস করা হয় সে বিষয়ে খুব নির্দিষ্ট সুনির্দিষ্ট নয়, একই সংগ্রহের ক্ষেত্রে একই বস্তুর একাধিক অনুলিপি থাকতে পারে কি না, ক্রমটি গুরুত্বপূর্ণ কিনা তা। তালিকাটি নির্দিষ্টভাবে বস্তুর সংগ্রহ আদেশ । আপনি যদি কোনও নির্দিষ্ট ক্রমে কোনও তালিকায় কোনও বস্তু স্থাপন করেন তবে তারা সেই ক্রমে থাকবে।

এবং এই দুটি ইন্টারফেসটি কোথায় ব্যবহার করবেন তা সিদ্ধান্ত নেওয়ার চেয়ে আপনি যে কংক্রিট প্রয়োগ করছেন তা স্থির করার চেয়ে কম গুরুত্বপূর্ণ। এটিতে আপনার প্রোগ্রামের সময় এবং স্থানের পারফরম্যান্সের জন্য জড়িত থাকবে। উদাহরণস্বরূপ, আপনি যদি একটি তালিকা চান তবে আপনি একটি অ্যারেলিস্ট বা একটি লিংকডলিস্ট ব্যবহার করতে পারেন, যার প্রতিটিটিতেই অ্যাপ্লিকেশনটির জড়িত রয়েছে। অন্যান্য সংগ্রহের ধরণের জন্য (যেমন সেটস), অনুরূপ বিবেচনা প্রযোজ্য।


2

সংগ্রহ তালিকার সুপার ইন্টারফেস তাই প্রতিটি জাভা তালিকা পাশাপাশি সংগ্রহের একটি উদাহরণ an সংগ্রহগুলি কেবল ধারাবাহিকভাবে পুনরাবৃত্ত হয় (এবং কোনও নির্দিষ্ট ক্রমে নয়) তবে একটি তালিকা get(int index)পদ্ধতির মাধ্যমে নির্দিষ্ট অবস্থানে একটি উপাদানটিতে অ্যাক্সেসের অনুমতি দেয় ।


2

সংগ্রহ হ'ল জাভা সংগ্রহের শ্রেণিবিন্যাসের প্রধান ইন্টারফেস এবং তালিকা (সিকোয়েন্স) এমন একটি উপ-ইন্টারফেস যা আদেশিত সংগ্রহকে সংজ্ঞায়িত করে।

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