Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

ArrayBlockingQueue और LinkedBlockingQueue में अंतर

BlockingQueue इंटरफेस Java.util.concurrent पैकेज का हिस्सा है। BlockingQueue विशेष रूप से प्रोड्यूसर-कंज्यूमर कतारों के लिए डिज़ाइन किया गया है और कलेक्शन का भी समर्थन करता है। यह इंटरफेस कतार पर किए जा सकने वाले सभी प्रकार के ऑपरेशन का समर्थन करने के लिए चार भागों में विभाजित है। यह नल कीज़ स्वीकार नहीं करता। ArrayBlockingQueue और LinkedBlockingQueue दोनों BlockingQueue इंटरफेस को लागू करते हैं।

ArrayBlockingQueue और LinkedBlockingQueue दोनों तत्वों को FIFO क्रम में संग्रहीत करते हैं। दोनों कतारों में तत्व का सम्मिलन हमेशा कतार के टेल पर होता है और तत्व का निष्कासन हमेशा कतार के हेड से होता है।

क्र. सं. मुख्य बिंदु ArrayBlockingQueue LinkedBlockingQueue
1 बेसिक यह सरणी द्वारा समर्थित है यह लिंक्ड लिस्ट द्वारा समर्थित है
2 बाउंडेड यह बाउंडेड सरणी कतार है। इसलिए एक बार बनाने के बाद, क्षमता को बदला नहीं जा सकता यह अनबाउंडेड कतार है
3 थ्रूपुट इसका थ्रूपुट लिंक्ड कतारों की तुलना में कम है लिंक्ड कतारों का थ्रूपुट सरणी-आधारित कतारों की तुलना में अधिक है
4 लॉक यह सिंगल-लॉक डबल कंडीशन एल्गोरिदम का उपयोग करता है इसमें तत्व डालने के लिए putLock और कतार से तत्व हटाने के लिए takeLock है
  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में Queue इंटरफेस की peek(), poll() और remove() विधि में अंतर

    यह एक संग्रह का प्रतिनिधित्व करता है जो प्रसंस्करण से पहले डेटा रखने के लिए अभिप्रेत है। यह फर्स्ट-इन-फर्स्ट-आउट (FIFO) प्रकार की व्यवस्था है। कतार में डाला गया पहला तत्व उससे निकाला गया पहला तत्व होता है। peek() विधि यह विधि वर्तमान कतार के शीर्ष पर ऑब्जेक्ट को लौटाती है, बिना इसे हटाए। यदि कतार खा

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या