CodeGym /జావా బ్లాగ్ /యాదృచ్ఛికంగా /ఉదాహరణలతో జావాలో క్యూ పోల్() పద్ధతి
John Squirrels
స్థాయి
San Francisco

ఉదాహరణలతో జావాలో క్యూ పోల్() పద్ధతి

సమూహంలో ప్రచురించబడింది

క్యూ అంటే ఏమిటి?

పేరు సూచించినట్లుగానే, క్యూ అనేది ఫస్ట్ ఇన్ ఫస్ట్ అవుట్ (FIFO) చొప్పించే క్రమంలో జావాలో ఒక సాధారణ డేటా నిర్మాణం . మీరు దానిని కిరాణా దుకాణం వద్ద క్యూలో సులభంగా ఊహించవచ్చు. మీరు ఎంత త్వరగా ప్రవేశిస్తారో, అంత త్వరగా వెళ్లిపోతారు. అంతకుముందు క్యూలో జోడించిన మూలకం ముందుగానే వదిలివేస్తుంది. క్యూలోని మొదటి మూలకాన్ని (ముందు) హెడ్ అని కూడా అంటారు .ఉదాహరణలతో జావాలో క్యూ పోల్() పద్ధతి - 2
ఫిగ్ 1.0: జావాలో ఒక సాధారణ క్యూ

క్యూ యొక్క పోల్() పద్ధతి ఏమిటి?

పోల్() పద్ధతి మిమ్మల్ని క్యూలోని అత్యంత ఎలిమెంట్ (హెడ్)ని తిరిగి పొందడానికి మరియు తీసివేయడానికి అనుమతిస్తుంది. మా ఉదాహరణలో, మీరు పై వరుసలో పోల్()కి కాల్ చేసినప్పుడు, మీరు ఫలితంగా '1'ని అందుకుంటారు. మరియు క్యూలో 4 అంశాలు మాత్రమే మిగిలి ఉంటాయి.ఉదాహరణలతో జావాలో క్యూ పోల్() పద్ధతి - 3
ఫిగ్ 1.1: క్యూలో పోల్() పద్ధతిని ఉపయోగించిన తర్వాత

జావాలో పోల్() పద్ధతి

ఉదాహరణ 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” ఒక క్యూగా ఉండనివ్వండి, ఆపై అవి ఎలా విభిన్నంగా ఉన్నాయో ఇక్కడ చూడండి:
  • q.poll() : క్యూ యొక్క తలని తీసివేస్తుంది మరియు తిరిగి పొందుతుంది
  • q.peek() : తీసివేయదు కానీ క్యూ యొక్క తలని మాత్రమే తిరిగి పొందుతుంది/తిరిగి అందిస్తుంది
  • q.remove() : క్యూ యొక్క తలని తీసివేస్తుంది మరియు తిరిగి పొందుతుంది
కనుక తొలగించు() మరియు పోల్() సరిగ్గా ఒకేలా ఉన్నట్లు కనిపిస్తుంది . వారు సాధారణ పరిస్థితులలో ఒకేలా పని చేస్తారు. కానీ క్యూ ఖాళీగా ఉన్నప్పుడు, తీసివేయండి () NoSuchElementException , పోల్ రిటర్న్స్ శూన్యం .

ఉదాహరణ 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.LinkedList.removeFirst(LinkedList.java:270)లో java.util.LinkedList.remove(LinkedList.java:) థ్రెడ్ "ప్రధాన" java.util.NoSuchElementExceptionలో శూన్య మినహాయింపు
పీక్() కి కాల్ చేసిన తర్వాత మీరు చూడగలిగినట్లుగా, వారపు రోజులు అలాగే ఉంటాయి. మరియు మేము తొలగించు() లేదా పోల్()ని ఉపయోగించినప్పుడు క్యూ యొక్క పరిమాణం 1 ద్వారా తగ్గించబడుతుంది, దానితో పాటు తలని తిరిగి ఇవ్వబడుతుంది. అంతేకాకుండా, java.util.NoSuchElementException అనేది ఖాళీ క్యూలో తొలగించు() అని పిలిచినప్పుడు విసిరివేయబడుతుంది , అయితే పోల్()ని ఉపయోగించడం కోసం అలాంటి మినహాయింపు ఏదీ ఇవ్వబడదు .

ముగింపు

చివరి నాటికి, క్యూల పోల్() పద్ధతిని ఉపయోగించడం మరియు పని చేయడం గురించి మీకు తెలిసి ఉంటుందని మేము ఆశిస్తున్నాము. అయితే ఏదైనా గందరగోళం ఏర్పడితే, మీరు ఎల్లప్పుడూ ఇక్కడకు తిరిగి వచ్చి సంప్రదించవచ్చు. హ్యాపీ కోడింగ్!
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION