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

ArrayBlockingQueue और ArrayDeque में अंतर

ArrayBlockingQueue तत्वों को FIFO क्रम में संग्रहीत करता है। तत्व का सम्मिलन हमेशा कतार के टेल पर होता है और तत्व का निष्कासन हमेशा कतार के हेड से होता है। यह थ्रेड-सेफ है और यह एक बाउंडेड सरणी कतार है इसलिए एक बार बनाने के बाद, क्षमता को बदला नहीं जा सकता। यह BlockingQueue इंटरफेस का कार्यान्वयन है।

जावा डॉक्स के अनुसार -

Deque इंटरफेस का रिसाइज़ेबल-सरणी कार्यान्वयन। Array deques की कोई क्षमता प्रतिबंध नहीं है; वे उपयोग का समर्थन करने के लिए आवश्यकतानुसार बढ़ते हैं। वे थ्रेड-सेफ नहीं हैं; बाहरी सिंक्रनाइज़ेशन के अभाव में, वे एकाधिक थ्रेड्स द्वारा समवर्ती एक्सेस का समर्थन नहीं करते हैं। नल तत्व निषिद्ध हैं। यह क्लास स्टैक के रूप में उपयोग किए जाने पर Stack से तेज़ होने की संभावना है, और कतार के रूप में उपयोग किए जाने पर LinkedList से तेज़ है।

क्र. सं. मुख्य बिंदु ArrayBlockingQueue ArrayDeque
1 बेसिक यह BlockingQueue इंटरफेस को लागू करता है यह Deque इंटरफेस को लागू करता है
2 बाउंडेड यह बाउंडेड सरणी कतार है। इसलिए एक बार बनाने के बाद, क्षमता को बदला नहीं जा सकता यह Deque का रिसाइज़ेबल-सरणी कार्यान्वयन है
3 थ्रेड सेफ यह थ्रेड सेफ है यह थ्रेड सेफ नहीं है
4 सम्मिलन/निष्कासन तत्व का सम्मिलन हमेशा कतार के टेल पर होता है और तत्व का निष्कासन हमेशा कतार के हेड से होता है यह दोनों छोरों पर तत्व सम्मिलन और निष्कासन का समर्थन करता है
  1. - जावा में Serialization और Externalization के बीच अंतर

    Serialization और Externalization दोनों ऑब्जेक्ट को बाइट स्ट्रीम में बदलने और बाइट स्ट्रीम को डेटाबेस या मेमोरी में स्टोर करने की प्रक्रियाएं हैं। जो क्लास java.io.Serializable इंटरफेस को इम्प्लीमेंट करती है उसे सीरियलाइज किया जा सकता है। दूसरी ओर, Externalization एप्लिकेशन में आवश्यकता के आधार पर कस

  1. - जावा में Iterator और Enumeration के बीच अंतर

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

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

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