ஜாவாவில் எடுத்துக்காட்டுகளுடன் ஒப்பிடுபவர் இடைமுகம் என்றால் என்ன?

Javavil Etuttukkattukalutan Oppitupavar Itaimukam Enral Enna



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

ஜாவாவில் எடுத்துக்காட்டுகளுடன் ஒப்பிடுபவர் இடைமுகம் என்றால் என்ன?

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

ஜாவாவில் ஒப்பீட்டாளர் இடைமுகத்தை எவ்வாறு பயன்படுத்துவது என்பதற்கான வெவ்வேறு எடுத்துக்காட்டுகள் இங்கே:







எடுத்துக்காட்டு 1: நீளத்தின் அடிப்படையில் பட்டியலை வரிசைப்படுத்தவும்

இந்த எடுத்துக்காட்டில், சரங்களின் பட்டியல் கருதப்பட்டு, அகரவரிசைக்கு பதிலாக அவற்றின் நீளத்தின் அடிப்படையில் வரிசைப்படுத்தவும்:



இறக்குமதி java.util.ArrayList ;

இறக்குமதி java.util.Collections ;

இறக்குமதி java.util.comparator ;

இறக்குமதி java.util.List ;

பொது வர்க்கம் முக்கிய {

பொது நிலையான வெற்றிடமானது முக்கிய ( லேசான கயிறு [ ] args ) {

பட்டியல் < லேசான கயிறு > பட்டியல் = புதிய வரிசைப்பட்டியல் <> ( ) ;

பட்டியல். கூட்டு ( 'ஜான்' ) ;

பட்டியல். கூட்டு ( 'பாப்' ) ;

பட்டியல். கூட்டு ( 'ஆலிஸ்' ) ;

தொகுப்புகள் . வகைபடுத்து ( பட்டியல் ) ;

அமைப்பு . வெளியே . println ( பட்டியல் ) ;

தொகுப்புகள் . வகைபடுத்து ( பட்டியல், புதிய சரம் நீள ஒப்பீட்டாளர் ( ) ) ;

அமைப்பு . வெளியே . println ( பட்டியல் ) ;

}

} // ஒரு வர்க்கம் வரையறுக்கப்பட்டுள்ளது

வர்க்கம் சரம் நீள ஒப்பீட்டாளர் செயல்படுத்துகிறது ஒப்பிடுபவர் < லேசான கயிறு > {

பொது முழு எண்ணாக ஒப்பிடு ( லேசான கயிறு s1, லேசான கயிறு s2 ) {

திரும்ப முழு . ஒப்பிடு ( s1. நீளம் ( ) , s2. நீளம் ( ) ) ;

}

}

மேலே உள்ள குறியீட்டின் விளக்கம் கீழே கொடுக்கப்பட்டுள்ளது:



  • முதலில், Comparator இடைமுகத்தை செயல்படுத்தும் StringLengthComparator எனப்படும் தனிப்பயன் ஒப்பீட்டு வகுப்பை உருவாக்கவும்.
  • இது இரண்டு சரங்களின் நீளத்தை ஒப்பிடுவதற்கான ஒப்பீடு() முறையை மீறுகிறது.
  • முடிவில், எங்கள் தனிப்பயன் ஒப்பீட்டாளரைப் பயன்படுத்தி பட்டியலை வரிசைப்படுத்துவதற்கான ஒரு உதாரணத்தை the.sort() முறைக்கு அனுப்பவும்.

வெளியீடு





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



எடுத்துக்காட்டு 2: ஒரு குறிப்பிட்ட புலத்தின் அடிப்படையில் பொருள்களை வரிசைப்படுத்துதல்

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

இறக்குமதி java.util.ArrayList ;

இறக்குமதி java.util.Collections ;

இறக்குமதி java.util.comparator ;

இறக்குமதி java.util.List ;

பொது வர்க்கம் முக்கிய {

பொது நிலையான வெற்றிடமானது முக்கிய ( லேசான கயிறு [ ] args ) {

பட்டியல் < நபர் > நபர்கள் = புதிய வரிசைப்பட்டியல் <> ( ) ; // பெயர், வயது மற்றும் சம்பளத்தை ஒதுக்கவும்

நபர்கள். கூட்டு ( புதிய நபர் ( 'ஆலிஸ்' , 25 , 50000 ) ) ;

நபர்கள். கூட்டு ( புதிய நபர் ( 'பாப்' , 30 , 75000 ) ) ;

நபர்கள். கூட்டு ( புதிய நபர் ( 'சார்லி' , இருபது , 40000 ) ) ;

ஒப்பிடுபவர் < நபர் > சம்பளம் ஒப்பிடுபவர் = புதிய ஒப்பிடுபவர் < நபர் > ( ) {

// சம்பளத்தின் அடிப்படையில் நபர்களை வரிசைப்படுத்துங்கள்

பொது முழு எண்ணாக ஒப்பிடு ( நபர் p1, நபர் p2 ) {

திரும்ப முழு . ஒப்பிடு ( ப2. சம்பளம் கிடைக்கும் ( ) , ப1. சம்பளம் கிடைக்கும் ( ) ) ;

}

} ;

தொகுப்புகள் . வகைபடுத்து ( நபர்கள், சம்பளம் ஒப்பீட்டாளர் ) ; திரும்ப வரிசை மதிப்புகள்

// வரிசைப்படுத்தப்பட்ட நபர்களின் பட்டியலை அச்சிடவும்

க்கான ( நபர் நபர் : நபர்கள் ) {

அமைப்பு . வெளியே . println ( நபர் ) ;

}

}

}

வர்க்கம் நபர் { // பெயர், வயது மற்றும் சம்பளத்தை வரையறுக்கவும்

தனிப்பட்ட லேசான கயிறு பெயர் ; // ஒரு வகுப்பில் உள்ள நோக்கம்
தனிப்பட்ட முழு எண்ணாக வயது ;
தனிப்பட்ட முழு எண்ணாக சம்பளம் ;

பொது நபர் ( லேசான கயிறு பெயர், முழு எண்ணாக வயது, முழு எண்ணாக சம்பளம் ) {
இது . பெயர் = பெயர் ;
இது . வயது = வயது ;
இது . சம்பளம் = சம்பளம் ;
}
பொது லேசான கயிறு பெற பெயர் ( ) {
திரும்ப பெயர் ;
}
பொது முழு எண்ணாக வயது ( ) {
திரும்ப வயது ;
}
பொது முழு எண்ணாக சம்பளம் கிடைக்கும் ( ) {
திரும்ப சம்பளம் ;
}
பொது லேசான கயிறு toString ( ) {
திரும்ப பெயர் + ' (வயது ' + வயது + ', சம்பளம் $' + சம்பளம் + ')' ;
}
}

குறியீட்டின் விளக்கம் கீழே கொடுக்கப்பட்டுள்ளது:

  • ஒரு வகுப்பு ' நபர் 'மூன்று துறைகளுடன்:' பெயர் ”,” வயது ', மற்றும் ' சம்பளம் ' கருதப்படுகிறது.
  • அதன் பிறகு, அவர்களின் சம்பளத்தைப் பொறுத்து, இறங்கு வரிசையில் தனிநபர் பொருட்களின் தொகுப்பை வரிசைப்படுத்தவும்.

வெளியீடு

சம்பளம் இறங்கு வரிசைக்கு ஏற்ப வரிசைப்படுத்தப்பட்டுள்ளது என்பதை வெளியீடு காட்டுகிறது.

முடிவுரை

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