வரிசை என்றால் என்ன?
பெயர் குறிப்பிடுவது போலவே, வரிசை என்பது ஜாவாவில் ஃபர்ஸ்ட் இன் ஃபர்ஸ்ட் அவுட் (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" ஒரு வரிசையாக இருக்கட்டும், பின்னர் அவை எவ்வாறு வேறுபடுகின்றன என்பது இங்கே:- 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.LinkedList.removeFirst(LinkedList.java:270) இல் java.util.LinkedList.remove(LinkedList.java:) நூலில் "முக்கிய" java.util.NoSuchElementException இல் பூஜ்ய விதிவிலக்கு
பீக்() வாரநாட்களை அழைத்த பிறகு நீங்கள் பார்க்க முடியும் . நாம் அகற்று() அல்லது கருத்துக் கணிப்பு() ஐப் பயன்படுத்தும்போது , தலையைத் திருப்பி அனுப்பும் வரிசையின் அளவு 1 ஆல் குறைக்கப்படுகிறது. மேலும், java.util.NoSuchElementException என்பது காலியான வரிசையில் அகற்று() என்று அழைக்கும் போது , கருத்துக்கணிப்பு() ஐப் பயன்படுத்துவதற்கு அத்தகைய விதிவிலக்கு எதுவும் கொடுக்கப்படவில்லை .
GO TO FULL VERSION