ஜாவாவில் ஒப்பிடக்கூடிய மற்றும் ஒப்பீட்டாளருக்கு இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 1 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 15 மே 2024
Anonim
நேர்காணல் கேள்வி | ஜாவாவில் ஒப்பிடக்கூடிய Vs Comparator
காணொளி: நேர்காணல் கேள்வி | ஜாவாவில் ஒப்பிடக்கூடிய Vs Comparator

உள்ளடக்கம்

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


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

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

ஒப்பீட்டுக்கான அடிப்படைஒப்பிடக்கூடியஒப்பீட்டுமானியும்
அடிப்படை ஒப்பிடக்கூடிய இடைமுகம் ஒற்றை வரிசையாக்க வரிசையை மட்டுமே அனுமதிக்கிறது.ஒப்பீட்டாளர் இடைமுகம் பல வரிசை வரிசைகளை அனுமதிக்கிறது.
தொகுப்புகள் ஒப்பிடக்கூடிய இடைமுகம் java.lang தொகுப்பில் உள்ளது.ஒப்பீட்டாளர் இடைமுகம் java.util தொகுப்பில் உள்ளது.
முறைகள் ஒப்பிடக்கூடிய இடைமுகம் ஒற்றை முறையை மட்டுமே கொண்டுள்ளது
பொது எண்ணாக ஒப்பிடு (பொருள் பொருள்);
ஒப்பீட்டாளர் இடைமுகம் இரண்டு முறைகளைக் கொண்டுள்ளது
public int ஒப்பிடு (பொருள் obj1, பொருள் obj2)
பூலியன் சமம் (பொருள் பொருள்)
நடைமுறைப்படுத்தல்ஒப்பிடக்கூடிய இடைமுகம் வகுப்பால் செயல்படுத்தப்படுகிறது, அதன் பொருள்களை ஒப்பிட வேண்டும்.ஒப்பீட்டு இடைமுகம் ஒரு பொருளை ஒப்பிட வேண்டிய வகுப்பிற்கு பதிலாக ஒரு ஸ்பிரேட் வகுப்பால் செயல்படுத்தப்படுகிறது.
ஒப்பீட்டு ஒப்பிடு டோ (ஆப்ஜெக்ட் ஆப்) முறை குறிப்பிட்ட பொருளைக் கொண்டு முறையைச் செயல்படுத்த பயன்படும் பொருளை முறைக்கு ஒப்பிடுகிறது.ஒப்பிடு (பொருள் ஆப்ஜெக்ட் 1, ஆப்ஜெக்ட் ஆப்ஜெக்ட் 2) முறை முறைக்கு அனுப்பப்பட்ட குறிப்பிட்ட இரண்டு பொருட்களையும் ஒப்பிடுகிறது.
பட்டியல் / வரிசைஒப்பிடக்கூடிய வகையின் பொருளின் பட்டியலை ஒப்பிட வேண்டியிருக்கும் போது சேகரிப்பு வகுப்பு ஒரு முறையை வழங்குகிறது, அதாவது Collections.sort (பட்டியல் lst).ஒப்பிடக்கூடிய வகையின் பொருட்களின் பட்டியலை ஒப்பிட வேண்டியிருக்கும் போது சேகரிப்பு வகுப்பு ஒரு முறையை வழங்குகிறது, அதாவது.
Collections.sort (பட்டியல், ஒப்பீட்டாளர்).


ஒப்பிடக்கூடிய வரையறை

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

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

பொது எண்ணாக ஒப்பிடு (பொருள் பொருள்);

ஒப்பிடு (பொருள் பொருள்) முறை திரும்பும் 0, முறையால் ஒப்பிடும்போது பொருள் இரண்டுமே ஒரே மதிப்பைக் கொண்டிருக்கும்போது, ​​அது திரும்பும் -ve குறிப்பிட்ட பொருளை விட சிறியதாக இருந்தால் மதிப்பு மற்றும் திரும்பும் + ve குறிப்பிட்ட பொருளுடன் ஒப்பிடும்போது தூண்டுதல் பொருளுக்கு அதிக மதிப்பு இருந்தால் மதிப்பு. சேகரிப்பு வகுப்பு பட்டியலின் கூறுகளை வரிசைப்படுத்துவதற்கான ஒரு முறையை வழங்குகிறது. ஒப்பிடக்கூடிய வகையின் பட்டியல் (மற்றும் வரிசை) கூறுகள் “Collections.sort (List lst)” முறையைப் பயன்படுத்தி வரிசைப்படுத்தலாம்.


ஒப்பீட்டாளரின் வரையறை

ஒப்பீட்டாளர் என்பது java.util தொகுப்பில் கிடைக்கும் ஒரு இடைமுகம். இடைமுகம் ஒப்பீட்டாளர் வகுப்பில் செயல்படுத்தப்படவில்லை, அதன் பொருள்களை ஒப்பிட்டுப் பார்க்க வேண்டும், அதற்கு பதிலாக தனி வர்க்கம் ஒப்பீட்டாளர் இடைமுகத்தை செயல்படுத்துகிறது, இதனால் வரிசையாக்க தர்க்கம் வேறுபட்ட வகுப்பில் உள்ள பொருளின் ஒவ்வொரு தரவு உறுப்புக்கும் பயன்படுத்தப்படுகிறது. ஒப்பீட்டாளர் பின்வருமாறு இரண்டு முறைகளைக் கொண்டுள்ளது:

public int ஒப்பிடு (பொருள் obj1, பொருள் obj2) மற்றும் பூலியன் சமம் (பொருள் obj)

மேலே உள்ள ஒப்பிடு () முறை முதல் பொருள் obj1 ஐ இரண்டாவது பொருள் obj2 உடன் ஒப்பிடுகிறது. ஒப்பிடு () முறை வருமானம் 0 முறையால் ஒப்பிடும்போது பொருள் இரண்டுமே ஒரே மதிப்பைக் கொண்டிருக்கும்போது, ​​அது திரும்பும் -ve பொருள் obj1 ஐ விட சிறியதாக இருந்தால் பொருள் obj2 மற்றும் திரும்பும் + ve ஆப்ஜெக்ட் ஆப்ஜெக்டுடன் ஒப்பிடும்போது ஆப்ஜெக்ட் 1 க்கு அதிக மதிப்பு இருந்தால் மதிப்பு. குறிப்பிட்ட பொருள் செயல்படுத்தும் பொருளுக்கு சமமாக இருந்தால் சமமான () முறைகள் சரிபார்க்கின்றன. சமம் () முறை வருமானம் உண்மை ஒப்பிடும் பொருள்கள் இரண்டும் சமமாக இருந்தால் அது திரும்பும் தவறான. தொகுப்பு மற்றும் ஒப்பீட்டு வகையின் கூறுகளை வரிசைப்படுத்துவதற்கான முறையை சேகரிப்பு வகுப்பு வழங்குகிறது. ஒப்பீட்டு வகைகளின் பட்டியல் கூறுகள் வரிசைப்படுத்தப்படுகின்றன b y முறை Collections.sort (பட்டியல், ஒப்பீட்டாளர்).

  1. ஒப்பிடக்கூடிய இடைமுகம் ஒற்றை வரிசையாக்க வரிசையை அனுமதிக்கிறது, அதாவது ஒப்பீட்டளவில் () முறையில் பொருளின் ஒற்றை தரவு உறுப்பை மட்டுமே ஒப்பிட முடியும். ஒப்பீட்டாளர் இடைமுகம் பல வரிசையாக்க வரிசைகளை அனுமதிக்கிறது, அதாவது பொருளின் பல தரவு கூறுகளை நீங்கள் ஒப்பிடலாம்.
  2. ஒப்பிடக்கூடிய இடைமுகம் வகுப்பால் செயல்படுத்தப்படுகிறது, அதன் பொருள்களை ஒப்பிட வேண்டும், ஏனெனில் வரிசையாக்க தர்க்கம் ஒரே வகுப்பினுள் வரையறுக்கப்படுகிறது. மறுபுறம், ஒப்பீட்டாளர் இடைமுகம் அதன் பொருள்களை ஒப்பிட வேண்டிய வகுப்பால் செயல்படுத்தப்படவில்லை, ஏனெனில் ஒவ்வொரு வகுப்பும் பொருளின் ஒற்றை தரவு உறுப்பு மீது வரிசைப்படுத்துவதை வரையறுக்கும் தனி வகுப்புகளில் வரிசையாக்க தர்க்கம் வரையறுக்கப்படுகிறது, மேலும் இந்த வரையறுக்கும் வகுப்புகள் ஒப்பீட்டாளர் இடைமுகத்தை செயல்படுத்துகின்றன .
  3. ஒப்பிடக்கூடிய இடைமுகம் java.lang தொகுப்புக்குள் உள்ளது, அதேசமயம் ஒப்பீட்டாளர் இடைமுகம் java.util தொகுப்புக்குள் உள்ளது.
  4. ஒப்பிடக்கூடிய இடைமுகம் ஒப்பிடக்கூடிய ஒரு முறையை மட்டுமே அறிவிக்கிறது (பொருள் பொருள்), ஒப்பீட்டாளர் இடைமுகம் இரண்டு முறைகளை அறிவிக்கிறது, அவை ஒப்பிடு (பொருள் பொருள் 1, பொருள் குறிக்கோள் 2) மற்றும் சமம் (பொருள் பொருள்).
  5. ஒப்பிடத்தக்க (ஒப்பீட்டு ஆப்) முறை ஒப்பிடும் முறையை முறையை குறிப்பிட்ட பொருளுடன் ஒப்பிடும் முறையுடன் ஒப்பிடுகிறது, அதேசமயம் ஒப்பீட்டாளரின் ஒப்பீட்டு (பொருள் ஆப்ஜெக்ட் 1, ஆப்ஜெக்ட் ஆப்ஜெக்ட் 2) முறை ஒப்பிட்டுப் பார்க்கிறது.
  6. ஒப்பிடக்கூடிய வகையின் பொருள்களை வரிசைப்படுத்த சேகரிப்பு வகுப்பு “Collections.sort (List lst)” என்ற வரிசையாக்க முறையை வழங்குகிறது. ஒப்பீட்டாளர் வகையின் பொருள்களை வரிசைப்படுத்த சேகரிப்பு வகுப்பு வரிசைப்படுத்தல் முறையை வழங்குகிறது Collections.sort (பட்டியல், ஒப்பீட்டாளர்).

முடிவுரை:

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