एक कतार क्या है?
जैसा कि नाम से पता चलता है, क्यू जावा में फर्स्ट इन फ़र्स्ट आउट (FIFO) इंसर्शन ऑर्डर के बाद एक सामान्य डेटा संरचना है । आप इसे किराने की दुकान पर कतार के रूप में आसानी से कल्पना कर सकते हैं। जितनी जल्दी आप प्रवेश करते हैं, उतनी ही जल्दी आप निकल जाते हैं। इसका मतलब है कि कतार में पहले जोड़ा गया तत्व पहले भी निकल जाएगा। कतार के पहले तत्व (सामने) को सिर भी कहा जाता है ।
कतार की पोल () विधि क्या है?
पोल () विधि आपको कतार के सबसे ऊपरी तत्व (सिर) को पुनः प्राप्त करने और निकालने की अनुमति देती है। हमारे उदाहरण में, जब आप उपरोक्त कतार में पोल () कॉल करते हैं, तो आपको परिणाम के रूप में '1' प्राप्त होगा। और कतार में केवल 4 तत्व शेष रहेंगे।
जावा में पोल () विधि
उदाहरण 1
चित्र 1.0 में दिखाए गए कतार पर पोल () फ़ंक्शन को कॉल करने का एक सरल उदाहरण देखें ।
import java.util.LinkedList;
import java.util.Queue;
public class QueuePollMethod {
public static void main(String[] args) {
// create a queue of die rolls
Queue dieRoll = new LinkedList();
// Add 6 integers one by one
dieRoll.add(1);
dieRoll.add(2);
dieRoll.add(3);
dieRoll.add(4);
dieRoll.add(5);
dieRoll.add(6);
// print the original queue
System.out.println("Queue:\t" + dieRoll + "\n");
// after calling poll()
System.out.println("poll() returned : " + dieRoll.poll());
System.out.println("Queue Updated!\t" + dieRoll + "\n");
// after calling poll()
System.out.println("poll() returned : " + dieRoll.poll());
System.out.println("Queue Updated!\t" + dieRoll + "\n");
// after calling poll()
System.out.println("poll() returned : " + dieRoll.poll());
System.out.println("Queue Updated!\t" + dieRoll + "\n");
}
}
उत्पादन
कतार: [1, 2, 3, 4, 5, 6] मतदान () लौटा: 1 कतार अपडेट की गई! [2, 3, 4, 5, 6] पोल () लौटा: 2 कतार अपडेट की गई! [3, 4, 5, 6] मतदान () लौटा: 3 कतार अपडेट की गई! [4, 5, 6]
कृपया ध्यान दें, कैसे प्रत्येक पोल के बाद () कतार का कॉल आकार 1 से कम हो जाता है और सिर वापस आ जाता है।
उदाहरण 2
आइए सप्ताह में दिनों का एक और उदाहरण देखें। हम सप्ताह के दिनों में एक-एक करके पोल () कॉल करेंगे और देखेंगे कि यह कैसा दिखता है।
import java.util.LinkedList;
import java.util.Queue;
public class QueuePollMethod {
public static void main(String[] args) {
Queue days = new LinkedList();
days.add("Sunday");
days.add("Monday");
days.add("Tuesday");
days.add("Wednesday");
days.add("Thursday");
days.add("Friday");
days.add("Saturday");
// print all the days in the week
System.out.println("Week Days: \t" + days + "\n");
// after calling poll()
System.out.println("poll() returned: " + days.poll());
System.out.println("Days Updated!\t" + days + "\n");
// after calling poll()
System.out.println("poll() returned: " + days.poll());
System.out.println("Days Updated!\t" + days + "\n");
// after calling poll()
System.out.println("poll() returned: " + days.poll());
System.out.println("Days Updated!\t" + days + "\n");
}
}
उत्पादन
सप्ताह के दिन: [रविवार, सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] पोल () लौटा: रविवार के दिन अपडेट किए गए! [सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] पोल () लौटा: सोमवार के दिन अपडेट किए गए! [मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] मतदान () लौटा: मंगलवार के दिन अपडेट किए गए! [बुधवार, गुरुवार, शुक्रवार, शनिवार]
पोल () पीक () और रिमूव () से कैसे अलग है?
शुरुआती लोगों के लिए तीन अलग-अलग अवधारणाओं को आपस में मिलाना बहुत आसान है क्योंकि वे काफी समान दिखते हैं। आइए "क्यू" एक कतार बनें, फिर यहां बताया गया है कि वे अलग कैसे हैं:- q.poll() : कतार के प्रमुख को हटाता है और पुनः प्राप्त करता है
- q.peek () : हटाता नहीं है लेकिन केवल कतार के प्रमुख को पुनः प्राप्त / वापस करता है
- q.remove () : कतार के प्रमुख को हटाता है और पुनः प्राप्त करता है
उदाहरण 3
आइए अब उपरोक्त तीन कार्यों के कुछ उदाहरणों पर एक त्वरित नजर डालते हैं।
import java.util.LinkedList;
import java.util.Queue;
public class QueuePollMethod {
public static void main(String[] args) {
Queue days = new LinkedList();
days.add("Sunday");
days.add("Monday");
days.add("Tuesday");
days.add("Wednesday");
days.add("Thursday");
days.add("Friday");
days.add("Saturday");
// print all the days in the week
System.out.println("Week Days: \t" + days + "\n");
// after calling peek()
System.out.println("peek() returned: " + days.peek());
System.out.println("Week Days: \t" + days + "\n");
System.out.println("peek() returned: " + days.peek());
System.out.println("Week Days: \t" + days + "\n");
// after calling remove()
System.out.println("remove() returned: " + days.remove());
System.out.println("Days Updated!\t" + days + "\n");
System.out.println("remove() returned: " + days.remove());
System.out.println("Days Updated!\t" + days + "\n");
System.out.println("remove() returned: " + days.remove());
System.out.println("remove() returned: " + days.remove());
System.out.println("remove() returned: " + days.remove());
System.out.println("remove() returned: " + days.remove());
System.out.println("Days Updated!\t" + days + "\n");
// after calling poll()
System.out.println("poll() returned: " + days.poll());
System.out.println("Days Updated!\t" + days + "\n");
System.out.println("poll() returned: " + days.poll());
System.out.println("remove() returned: " + days.remove());
}
}
उत्पादन
सप्ताह के दिन: [रविवार, सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] पीक () लौटा: रविवार सप्ताह के दिन: [रविवार, सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] पीक () लौटा: रविवार सप्ताह के दिन : [रविवार, सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] हटाएं () लौटा: रविवार के दिन अपडेट किए गए! [सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] हटाएं () लौटा: सोमवार के दिन अपडेट किए गए! [मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार] हटाएं () लौटाया गया: मंगलवार को हटाया गया () लौटाया गया: बुधवार को हटाया गया () लौटाया गया: गुरुवार को हटाया गया () लौटाया गया: शुक्रवार के दिन अपडेट किए गए! [शनिवार] मतदान () लौटा: शनिवार के दिन अपडेट किए गए! [] मतदान () लौटा: धागे में शून्य अपवाद "मुख्य" java.util.NoSuchElementException java.util.LinkedList.removeFirst (LinkedList.java:270) पर java.util.LinkedList.remove (LinkedList.java) पर:
जैसा कि आप पीक कॉल करने के बाद देख सकते हैं () सप्ताह के दिन समान रहते हैं। और जैसा कि हम रिमूव () या पोल () का उपयोग करते हैं , सिर को वापस करने के साथ कतार का आकार 1 से कम हो जाता है। इसके अलावा, java.util.NoSuchElementException को तब फेंका जाता है जब हम खाली कतार में रिमूव () कॉल करते हैं, जबकि पोल () का उपयोग करने के लिए ऐसा कोई अपवाद नहीं फेंका जाता है ।
GO TO FULL VERSION