வரிசை என்றால் என்ன?
பெயர் குறிப்பிடுவது போலவே, வரிசை என்பது ஜாவாவில் ஃபர்ஸ்ட் இன் ஃபர்ஸ்ட் அவுட் (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