ইন java.util.PriorityQueue আমরা পদ্ধতি আছে add(E e)
এবং offer(E e)
। উভয় পদ্ধতি হিসাবে নথিভুক্ত করা হয়:
এই অগ্রাধিকার সারিতে নির্দিষ্ট উপাদান সন্নিবেশ করান।
এই দুটি পদ্ধতির মধ্যে পার্থক্য কী?
ইন java.util.PriorityQueue আমরা পদ্ধতি আছে add(E e)
এবং offer(E e)
। উভয় পদ্ধতি হিসাবে নথিভুক্ত করা হয়:
এই অগ্রাধিকার সারিতে নির্দিষ্ট উপাদান সন্নিবেশ করান।
এই দুটি পদ্ধতির মধ্যে পার্থক্য কী?
উত্তর:
পার্থক্য যে offer()
ফিরে আসবে false
যদি এটি একটি আকার সীমাবদ্ধ উপর উপাদান সন্নিবেশ করতে ব্যর্থ সারি , যেহেতু add()
একটি নিক্ষেপ করা হবে IllegalStateException
।
offer()
যখন কোনও উপাদান toোকাতে ব্যর্থতা স্বাভাবিক হবে তখন আপনার ব্যবহার করা উচিত এবং add()
ব্যর্থতা যখন ব্যতিক্রমী ঘটনা হয়ে থাকে (তবে এটি পরিচালনা করা দরকার)।
পার্থক্যটি সন্ধান করার জন্য, আমাদের অগ্রাধিকারের কিউআইপি এ্যাভিয়া জাভাদোকগুলি অনুসরণ করতে হবে যা পরিবর্তিতভাবে "নির্দিষ্ট করে" বিভাগ রয়েছে যা পাঠককে Queue
ইন্টারফেসে সম্পর্কিত পদ্ধতিগুলিতে উল্লেখ করে :
সক্ষমতার সীমাবদ্ধতা লঙ্ঘন না করে অবিলম্বে এটি করা সম্ভব হলে সাফল্যের সত্যতা অবলম্বন করা এবং যদি বর্তমানে কোনও স্থান উপলব্ধ না হয় তবে অবৈধ স্টেট এক্সেকশন নিক্ষেপ করা সম্ভব হলে এই কাতারে নির্দিষ্ট উপাদানটিকে সন্নিবেশ করান ...
রিটার্নস:true
( কালেকশন.এডিডি (ই) দ্বারা নির্দিষ্ট করা )
নিক্ষেপ:IllegalStateException
- ক্ষমতা সীমাবদ্ধতার কারণে যদি উপাদানটি এই সময়ে যুক্ত করা যায় না ...
ক্ষমতা সীমাবদ্ধতা লঙ্ঘন না করে যদি তাত্ক্ষণিকভাবে এটি করা সম্ভব হয় তবে এই সারিটিতে নির্দিষ্ট উপাদানটি সন্নিবেশ করান। সক্ষমতা-সীমাবদ্ধ ক্যু ব্যবহার করার সময়, এই পদ্ধতিটি সাধারণত (ই) যুক্ত করা ভাল, যা কেবলমাত্র একটি ব্যতিক্রম ছুঁড়ে দিয়ে কোনও উপাদান সন্নিবেশ করতে ব্যর্থ হতে পারে ...
ফেরত:true
যদি এই সারিটিতে উপাদানটি যুক্ত করা হত, অন্যথায়false
...
উভয় পদ্ধতিই উপস্থিত কারণ এগুলি ঘোষিত ইন্টারফেস দ্বারা প্রয়োগ করা প্রয়োজন।
নোট যে যেহেতু PriorityQueue সীমাবদ্ধ নয় (যেমন javadocs বিবৃত: " সীমাবদ্ধ অগ্রাধিকার কিউ একটি অগ্রাধিকার গাদা উপর ভিত্তি করে ..."), উপরে প্রকাশ এপিআই ডিজাইনারদের পক্ষপাত প্রযোজ্য হবে না। এর অর্থ একটি নির্দিষ্ট ব্যবহারের প্রসঙ্গে তাদের প্রয়োজনের সাথে আরও ভালভাবে মেটাতে পন্থা বাছাই করা প্রোগ্রামার বিবেচনার বাইরে রয়েছে।