दिलचस्प पोस्ट
cout << कॉल के क्रम में काम करता है यह प्रिंट? SciPy या NumPy का उपयोग करके निर्दिष्ट भार के साथ असतत यादृच्छिक चर उत्पन्न करना Mongodb एकत्रीकरण फ्रेमवर्क | एकाधिक मूल्यों पर समूह? एंड्रॉइड – java.lang.SecurityException: अनुमति अस्वीकृति: शुरुआती आशय एचटीटीपी क्लाइंट लॉगिंग को अक्षम करें एक स्तंभ में सीमांकित स्ट्रिंग विभाजित करें और नई पंक्तियों के रूप में डालें कार्यात्मक, घोषणात्मक और आज्ञाकारी प्रोग्रामिंग सी # द्वारा हैंडल के साथ Excel अनुप्रयोग का उदाहरण प्राप्त करें मैं Windows के लिए विज़ुअल स्टूडियो कोड में कोड के वर्गों को कैसे संक्षिप्त कर सकता हूं Google मानचित्र API – गलत जगह में एकाधिक आइकन क्रैश या "विभाजन गलती" जब डेटा की प्रतिलिपि बनाई गई है / स्कैन / अपर्याप्त संकेतक को पढ़ना 1NF में संबंध आर को विघटित करने के बाद मौजूद तालिकाओं की न्यूनतम संख्या क्या है? पीसी के साथ आईपैड सफारी डिबग करें प्रोग्रामिंग पी 2 पी आवेदन नॉकआउट में अद्यतन नहीं करने योग्य अवलोकन के मूल्य निर्धारित करना

जावा में क्यू ऑब्जेक्ट को मैं कैसे इन्स्तांत कर सकता हूं?

जब मैं कोशिश करता हूँ:

Queue<Integer> q = new Queue<Integer>(); 

कंपाइलर मुझे एक त्रुटि दे रहा है कोई मदद?

इसके अलावा, अगर मैं कतार को प्रारंभ करना चाहता हूं तो मुझे कतार के तरीकों को लागू करना होगा?

Solutions Collecting From Web of "जावा में क्यू ऑब्जेक्ट को मैं कैसे इन्स्तांत कर सकता हूं?"

एक Queue एक इंटरफ़ेस है, जिसका अर्थ है कि आप सीधे Queue निर्माण नहीं कर सकते।

सबसे अच्छा विकल्प एक वर्ग का निर्माण करना है जो Queue इंटरफ़ेस का पहले से ही कार्यान्वित करता है, जैसे निम्न में से एक: DelayQueue , LinkedBlockingQueue , ConcurrentLinkedQueue DelayQueue , LinkedBlockingQueue , LinkedBlockingQueue DelayQueue , LinkedBlockingQueue , LinkedBlockingQueue DelayQueue , LinkedBlockingQueue , या SynchronousQueue

वैकल्पिक रूप से अपना स्वयं का वर्ग लिखना है जो आवश्यक क्यूई इंटरफ़ेस लागू करता है। उन दुर्लभ मामलों को छोड़कर यह आवश्यक नहीं है, जहां आप अपने प्रोग्राम को एक Queue साथ प्रदान करते हुए कुछ विशेष करना चाहते हैं।

 public class MyQueue<T extends Tree> implements Queue<T> { public T element() { ... your code to return an element goes here ... } public boolean offer(T element) { ... your code to accept a submission offer goes here ... } ... etc ... } 

एक भी कम इस्तेमाल किया गया विकल्प एक अनाम वर्ग का निर्माण करना है जो Queue लागू करता है। आप शायद ऐसा नहीं करना चाहते, लेकिन यह सभी ठिकानों को कवर करने के लिए एक विकल्प के रूप में सूचीबद्ध है।

 new Queue<Tree>() { public Tree element() { ... }; public boolean offer(Tree element) { ... }; ... }; 

Queue एक अंतरफलक है आप एक अनोखा आंतरिक वर्ग के माध्यम से सीधे इंटरफ़ेस नहीं कर सकते आम तौर पर ऐसा नहीं है कि आप संग्रह के लिए क्या करना चाहते हैं। इसके बजाय, एक मौजूदा कार्यान्वयन चुनें उदाहरण के लिए:

 Queue<Integer> q = new LinkedList<Integer>(); 

या

 Queue<Integer> q = new ArrayDeque<Integer>(); 

आम तौर पर आप प्रदर्शन और संगामिति विशेषताओं द्वारा संग्रह कार्यान्वयन चुनते हैं, जिनमें आपकी रुचि है।

 Queue<String> qe=new LinkedList<String>(); qe.add("b"); qe.add("a"); qe.add("c"); 

Queue एक इंटरफ़ेस है, जिस तरह से आप ऐसा कर रहे हैं, जैसे कि आप इसका उदाहरण नहीं बना सकते

पंक्ति एक इंटरफ़ेस है, आप स्पष्ट रूप से एक पंक्ति का निर्माण नहीं कर सकते हैं, आपको इसके कार्यान्वयन वर्गों में से एक को इन्स्तांत करना होगा। कुछ इस तरह:

 Queue linkedList = new LinkedList(); 

एचईईई इस विषय पर जावा ट्यूटोरियल का एक लिंक है।

पंक्ति जावा में एक इंटरफ़ेस है, आप ऐसा नहीं कर सकते।

इसके बजाय आपके पास दो विकल्प हैं:

विकल्प 1:

 Queue<Integer> Q = new LinkedList<>(); 

विकल्प 2:

 Queue<Integer> Q = new ArrayDeque<>(); 

मैं विकल्प 2 का उपयोग करने की सलाह देता हूं क्योंकि यह अन्य की तुलना में थोड़ा तेज है

यहां छवि विवरण दर्ज करें

क्व्यू इंटरफ़ेस java.util को बढ़ाता है। अतिरिक्त प्रविष्टि, निष्कर्षण, और निरीक्षण कार्यों जैसे:

+offer(element: E): बुलियन // एक तत्व डालें

+poll(): E // तत्व को पुनः प्राप्त करता है और कतार खाली है, अगर शून्य रिटर्न

+remove(): E // पुनः प्राप्त करता है और तत्व हटाता है और एक अपवाद फेंकता है यदि कतार खाली है

+peek(): E // पुनर्प्राप्त करता है, लेकिन इस कतार के सिर को हटाया नहीं जाता है, यदि यह कतार रिक्त है तो रिक्त लौट रहा है।

+element(): E // पुनर्प्राप्त करता है, लेकिन इस कतार के सिर को दूर नहीं करता, एक अपवाद फेंकता है यदि ते कतार खाली है।

पंक्ति लागू करने के लिए उदाहरण कोड:

 java.util.Queue<String> queue = new LinkedList<>(); queue.offer("Hello"); queue.offer("StackOverFlow"); queue.offer("User"); System.out.println(queue.peek()); while (queue.size() > 0){ System.out.println(queue.remove() + " "); } //Since Queue is empty now so this will return NULL System.out.println(queue.peek()); 

कोड का आउटपुट:

 Hello Hello StackOverFlow User null 

जावा में पंक्ति को एक अंतरफलक के रूप में परिभाषित किया गया है और कई तैयार-से-उपयोग कार्यान्वयन जेडीके रिलीज के भाग के रूप में मौजूद है। यहां कुछ हैं: लिंक्डलिस्ट , प्राथमिकता कतार, अर्रेब्लॉकिंग क़ुइ, समवर्ती लिंकयुक्त प्रश्न, लिंक्ड ट्रांसफर कतार, सिंक्रोनस क्यूई इत्यादि।

अतः आप इनमें से कोई भी वर्ग बना सकते हैं और उसे क्यू संदर्भ के रूप में रख सकते हैं। उदाहरण के लिए

 import java.util.LinkedList; import java.util.Queue; public class QueueExample { public static void main (String[] args) { Queue que = new LinkedList(); que.add("first"); que.offer("second"); que.offer("third"); System.out.println("Queue Print:: " + que); String head = que.element(); System.out.println("Head element:: " + head); String element1 = que.poll(); System.out.println("Removed Element:: " + element1); System.out.println("Queue Print after poll:: " + que); String element2 = que.remove(); System.out.println("Removed Element:: " + element2); System.out.println("Queue Print after remove:: " + que); } } 

आप अपने खुद के कस्टम कतार को कार्यान्वयन क्यूई इंटरफ़ेस भी लागू कर सकते हैं।

Queue जावा में एक इंटरफ़ेस है, आप ऐसा नहीं कर सकते। प्रयत्न:

 Queue<Integer> Q = new LinkedList<Integer>();