ஜாவாவில் ஈட்டரேட்டர் மற்றும் கணக்கீட்டு இடைமுகத்திற்கு இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 2 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 18 மே 2024
Anonim
ஜாவாவில் ஈட்டரேட்டர் மற்றும் கணக்கீட்டு இடைமுகத்திற்கு இடையிலான வேறுபாடு - தொழில்நுட்பம்
ஜாவாவில் ஈட்டரேட்டர் மற்றும் கணக்கீட்டு இடைமுகத்திற்கு இடையிலான வேறுபாடு - தொழில்நுட்பம்

உள்ளடக்கம்


எந்தவொரு தொகுப்பிலிருந்தும் உறுப்புகளை ஒவ்வொன்றாக அணுக பயன்படும் மூன்று கர்சர்கள் கணக்கீடு, ஈட்டரேட்டர் மற்றும் லிஸ்ட்இடரேட்டர். இருப்பினும், ஐடரேட்டர் மற்றும் என்யூமரேட்டர் ஆகியவை ஒரே வேலையைச் செய்வதற்கானவை. இருப்பினும், தொகுப்பில் உள்ள உறுப்புகளுக்கு கணக்கீடு படிக்க மட்டுமே அணுகல் உள்ளது என்ற பொருளில் அவை ஒருவருக்கொருவர் வேறுபடுகின்றன. மறுபுறம், ஈட்டரேட்டர் படிக்கலாம் மற்றும் சேகரிப்பிலிருந்து கூறுகளை அகற்றலாம். மதிப்பீட்டாளருக்கும் கணக்கீடுக்கும் இடையிலான முக்கியமான வேறுபாடு என்னவென்றால் கணக்கெடுப்பை சேகரிப்பு வகுப்புகளில் பயன்படுத்த முடியாது, இது மரபு வகுப்புகளுக்கு மட்டுமே பொருந்தும். மறுபுறம், தி பல செயலாற்றல் எனவே சேகரிப்பு வகுப்புகளுக்கு இது பொருந்தும், இது உலகளாவிய கர்சர் என குறிப்பிடப்படுகிறது. கீழே காட்டப்பட்டுள்ள ஒப்பீட்டு விளக்கப்படத்தின் உதவியுடன் ஈட்டரேட்டருக்கும் கணக்கீடுக்கும் இடையில் இன்னும் சில வேறுபாடுகளைக் கற்றுக்கொள்வோம்.

  1. ஒப்பீட்டு விளக்கப்படம்
  2. வரையறை
  3. முக்கிய வேறுபாடுகள்
  4. முடிவுரை

ஒப்பீட்டு விளக்கப்படம்

ஒப்பீட்டுக்கான அடிப்படைபல செயலாற்றல் கணக்கெடுப்பை
அடிப்படைஅனைத்து சேகரிப்பு வகுப்புகளுக்கும் இது பொருந்தும் என்பதால் ஐடரேட்டர் ஒரு உலகளாவிய கர்சர்.மரபு வகுப்புகளுக்கு மட்டுமே பொருந்தும் என்பதால் கணக்கீடு என்பது உலகளாவிய கர்சர் அல்ல.
அணுகல்ஈட்டரேட்டரைப் பயன்படுத்தி சேகரிப்பில் உள்ள கூறுகளைப் படித்து அகற்றலாம்.கணக்கீட்டைப் பயன்படுத்தி நீங்கள் தொகுப்பில் உள்ள கூறுகளை மட்டுமே படிக்க முடியும்.
முறைகள்பொது பூலியன் ஹேனெக்ஸ்ட் ();
பொது பொருள்கள் அடுத்த ();
பொது வெற்றிடத்தை நீக்கு ();
பொது பூலியன் hasMoreElements ();
பொது பொருள் nextElement ();
வரம்புஐடரேட்டர் ஒரு திசை முன்னோக்கி அணுகல் கர்சர்.
சேகரிப்பில் உள்ள எந்த உறுப்புகளையும் மாற்றியமைக்க முடியாது.
சேகரிப்பில் எந்த புதிய உறுப்புகளையும் சேர்க்க முடியாது.
கணக்கீடு என்பது ஒரு திசை முன்னோக்கி அணுகல் கர்சர் ஆகும்.
கணக்கீடு மரபு வகுப்புகளை மட்டுமே ஆதரிக்கிறது.
ஒரு தொகுப்பில் உள்ள உறுப்புகளுக்கு கணக்கீடு படிக்க மட்டுமே அணுகல் உள்ளது.
கடந்து வாஈட்டரேட்டரின் வரம்புகளைக் கடக்க நீங்கள் லிஸ்ட்இடரேட்டரைத் தேர்வு செய்ய வேண்டும்.கணக்கீட்டின் வரம்புகளைக் கடக்க நீங்கள் இட்டரேட்டரைத் தேர்வு செய்ய வேண்டும்.


ஈரேட்டர் இடைமுகத்தின் வரையறை

பல செயலாற்றல் சேகரிப்பு கட்டமைப்பில் ஒரு இடைமுகம். அனைத்து சேகரிப்பு வகுப்புகளுக்கும் ஈட்டரேட்டர் பொருந்தும் என்பதால், இது உலகளாவிய கர்சர் என குறிப்பிடப்படுகிறது. சேகரிப்பில் உள்ள கூறுகளை ஒவ்வொன்றாக அணுக பயன்படும் கர்சர் இது. ஈட்டரேட்டரைப் பயன்படுத்தி, நீங்கள் தொகுப்பிலிருந்து கூறுகளை மீட்டெடுக்கலாம், நீங்கள் விரும்பினால் சேகரிப்பிலிருந்து உறுப்புகளையும் அகற்றலாம். கீழே கொடுக்கப்பட்டுள்ளபடி ஈட்டரேட்டரின் பொருள் உருவாக்கப்படலாம்.

Iterator itr = Collc.iterator ();

மாறி ITR ஈட்டரேட்டரின் ஒரு பொருள். Collc எந்தவொரு சேகரிப்பு பொருளும், இது ஈட்டரேட்டரின் பொருளை (itr) பயன்படுத்துவதன் மூலம் சுழற்சி செய்யப்பட வேண்டும் அல்லது மீண்டும் செய்யப்பட வேண்டும். தி பல செயலாற்றல் () ஒரு ஈரேட்டர் பொருளை உருவாக்க பயன்படுத்தப்படும் முறை. கீழே காட்டப்பட்டுள்ளபடி ஈட்டரேட்டரில் மூன்று முறைகள் உள்ளன.

பொது பூலியன் ஹேனெக்ஸ்ட் (); பொது பொருள் அடுத்த (); பொது வெற்றிடத்தை நீக்கு ();

முதல் முறை hasnext () சேகரிப்பில் ஏதேனும் கூறுகள் உள்ளதா இல்லையா என்பதை சரிபார்க்கிறது. சேகரிப்பில் கூறுகள் இருந்தால், அது உண்மைக்குத் திரும்பும், இல்லையெனில் தவறானது. இரண்டாவது முறை அடுத்தது() சேகரிப்பில் அடுத்த உறுப்பை மீட்டெடுக்கப் பயன்படுகிறது. மூன்றாவது முறை ) நீக்க ( தொகுப்பிலிருந்து கூறுகளை நீக்க பயன்படுகிறது.


பயணிப்பவர் ஒரு தொகுப்பில் முன்னோக்கி செல்லும் திசையில் மட்டுமே பயணிக்க முடியும். சேகரிப்பாளரிடமிருந்து உறுப்பை அகற்ற முடியும், ஆனால் தற்போதுள்ள எந்த உறுப்புகளையும் ஒரு புதிய உறுப்புடன் மாற்றுவதற்கான திறனைக் கொண்டிருக்கவில்லை, மேலும் சேகரிப்பில் எந்த புதிய உறுப்புகளையும் சேர்க்க முடியாது. இந்த வரம்புகளை சமாளிக்க நீங்கள் ListIterator இடைமுகத்திற்கு செல்லலாம்.

கணக்கீட்டு இடைமுகத்தின் வரையறை

கணக்கெடுப்பை என்பது பொருந்தும் இடைமுகம் மரபு வகுப்புகள், அதை எந்த சேகரிப்பு வகுப்பிற்கும் பயன்படுத்த முடியாது. எனவே, இது ஒரு உலகளாவிய கர்சர் அல்ல. கணக்கீடு சேகரிப்பிலிருந்து உறுப்பு (பொருள்) ஒவ்வொன்றாக மீட்டெடுக்கிறது. கணக்கீடு பொருள் சேகரிப்பின் கூறுகளுக்கு படிக்க மட்டுமே அணுகல் உள்ளது. கணக்கீடு பொருள் சேகரிப்பிலிருந்து எந்த உறுப்புகளையும் மாற்ற முடியாது. கணக்கீட்டு பொருளை எவ்வாறு உருவாக்குவது என்று பார்ப்போம், பாருங்கள்.

கணக்கீடு er = Vect.elements ();

மாறி எர் என்பது கணக்கீட்டின் ஒரு பொருள். தி Vect திசையன் வகுப்பின் பொருள் என்பது கணக்கீட்டின் பொருள் (எர்) மூலம் பயணிக்க வேண்டும். முறை கூறு () கணக்கீட்டின் ஒரு பொருளை உருவாக்க பயன்படுகிறது. கீழே காட்டப்பட்டுள்ளபடி கணக்கீட்டு இடைமுகத்தில் இரண்டு முறைகள் மட்டுமே உள்ளன.

பொது பூலியன் hasMoreElements (); public nextElement ();

முதல் முறை hasMoreElements () சேகரிப்பில் அதன் கூறுகள் உள்ளதா அல்லது அது காலியாக உள்ளதா என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது. சேகரிப்பில் கூறுகள் இருந்தால், hasMoreElements () முறை உண்மைக்குத் திரும்புகிறது, தவறானது. இரண்டாவது முறை nextElement () தொகுப்பிலிருந்து உறுப்புகளை ஒவ்வொன்றாக மீட்டெடுக்கப் பயன்படுகிறது. பயணிப்பது முடிந்ததும் அடுத்த எலிமென்ட் () முறை வீசுகிறது NoSuchElementException. கணக்கீட்டு பொருள் முன்னோக்கி திசையில் மட்டுமே பயணிக்கிறது. சேகரிப்பில் எந்த உறுப்புகளையும் சேர்க்கவோ நீக்கவோ மாற்றவோ முடியாது. கணக்கீட்டின் இந்த வரம்புகளை சமாளிக்க, நீங்கள் இட்டரேட்டரைத் தேர்வு செய்ய வேண்டும்.

  1. ஈட்டரேட்டர் மற்றும் கணக்கீடு ஆகியவற்றுக்கு இடையேயான முக்கிய வேறுபாடு என்னவென்றால், ஈட்டரேட்டர் ஒரு உலகளாவிய கர்சர், எந்த சேகரிப்பு பொருளையும் மீண்டும் பயன்படுத்த பயன்படுத்தலாம். மறுபுறம், மரபு வகுப்பின் பொருளைக் கடந்து செல்ல கணக்கீடு பயன்படுத்தப்படுகிறது.
  2. கணக்கீடு பொருள் சேகரிப்பில் உள்ள உறுப்புகளுக்கு படிக்க மட்டுமே அணுகல் உள்ளது. இருப்பினும், ஈட்டரேட்டரின் பொருள் தொகுப்பிலிருந்து கூறுகளை படித்து அகற்றலாம்.
  3. சேகரிப்பின் நிலையை சரிபார்க்க ஈரேட்டரின் இரண்டு முறைகள் உள்ளன, மேலும் சேகரிப்பிலிருந்து உறுப்புகளை மீட்டெடுக்க ஒன்று. கணக்கீட்டு முறைகளுக்கு மேலதிகமாக, சேகரிப்பிலிருந்து உறுப்புகளை அகற்ற ஐடரேட்டருக்கு இன்னும் ஒரு முறை உள்ளது.
  4. கணக்கீட்டின் வரம்புகள் இது முன்னோக்கி ஒருதலைப்பட்ச கர்சர், இது படிக்க மட்டும் அணுகல் உள்ளது, மேலும் இது சேகரிப்பு வகுப்புகளுக்கு பயன்படுத்தப்படலாம். வேறு வழியில், சேகரிப்பில் எந்தவொரு புதிய உறுப்பையும் மாற்றவோ சேர்க்கவோ முடியாது, மேலும் கணக்கீடு போன்றது அதன் முன்னோக்கி ஒருதலைப்பட்ச கர்சர்.
  5. கணக்கீட்டின் வரம்பு ஐட்டரேட்டரால் தீர்க்கப்படுகிறது மற்றும் ஈட்டரேட்டரின் வரம்புகள் லிஸ்ட்இடரேட்டரால் தீர்க்கப்படுகின்றன.

முடிவுரை:

இப்போதெல்லாம், இட்ரேட்டர் மற்றும் லிஸ்ட்இர்ட்டோர் கர்சர் பயன்படுத்தப்படுகின்றன, ஏனெனில் அவை உலகளாவிய கர்சராக இருக்கின்றன, மேலும் அவை கணக்கீட்டை விட மிகவும் திறமையானவை.