कतार आदेश को रखते हुए Queue
को List
में परिवर्तित करने का सबसे तेज़ तरीका क्या है?सूची में एक कतार को बदलें
उत्तर
सबसे पहले सबसे पहले लिंक्डलिस्ट का उपयोग करना है जिसे सूची या कतार के रूप में उपयोग किया जा सकता है।
Queue q = new LinkedList();
List l = (List) q;
नहीं तो आप एक प्रति लेने के लिए
List l = new ArrayList(q);
Queue queue = new LinkedList();
...
List list = new ArrayList(queue);
गूगल की जरूरत है:
Queue fruitsQueue = new LinkedList();
fruitsQueue.add("Apples");
fruitsQueue.add("Bananas");
fruitsQueue.add("Oranges");
fruitsQueue.add("Grapes");
List fruitsList = new ArrayList(fruitsQueue);
पास Queue
ArrayList
निर्माता
सिर्फ एक ArrayList
बना सकते हैं और पारित करने के लिए सबसे आसान तरीका है करने के लिए अपने Queue
में एक तर्क के रूप में constructor ऐरेलिस्टिस्ट जो Collection
लेता है। एक Queue
एक Collection
है, जो कि काम करता है।
यह सबसे आसान तरीका है और मैं भी सबसे तेज़ तरीका मानता हूं।
List<?> list = new ArrayList<>(myQueue);
स्वीकार्य उत्तर होना चाहिए, क्या यह प्रश्न को सीधे संबोधित करने वाला एकमात्र ऐसा है। प्रश्न ['Queue'] (http://docs.oracle.com/javase/8/docs/api/java/util/Queue.html) इंटरफ़ेस को संदर्भित किया गया है। क्यू के कई कार्यान्वयन हैं, दोनों जावा के साथ बंडल किए गए हैं और अन्य पुस्तकालयों जैसे [Google Guava] (https://github.com/google/guava) में पाए जाते हैं। अन्य उत्तरों केवल ['लिंक्डलिस्ट '] (http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html) को संदर्भित करते हैं जो कि कई कार्यान्वयनों में से एक है। –
'q.poll(), list.add()'? – Nishant