ஜாவா ட்ரீமேப்– HigherKey() மற்றும் LowerKey()

Java Trimep Higherkey Marrum Lowerkey



TreeMap முக்கிய கூறுகளின் அடிப்படையில் தரவை வரிசைப்படுத்தப்பட்ட வரிசையில் சேமிக்கிறது. இந்த தரவு கட்டமைப்பில் அதிக முக்கிய தரவு (முக்கிய மதிப்பு) கடைசி நிலையில் சேமிக்கப்படுகிறது.

ட்ரீமேப் சேகரிப்பில் உள்ள ஹையர்கே() மற்றும் லோயர்கே() முறைகளைப் பற்றி விவாதிப்போம்.







HigherKey()

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



தொடரியல்:

மரம் வரைபடம்_பொருள். உயர் விசை ( முக்கிய )

Treemap_object TreeMap சேகரிப்பைக் குறிக்கும் இடத்தில்.



அளவுரு:

விசை முழு எண் வகையைச் சேர்ந்தது.





திரும்ப:

இது சேகரிப்பு பொருளிலிருந்து விசையை வழங்குகிறது.

குறிப்பு:

  1. என்றால் மர வரைபடம் பொருள் காலியாக உள்ளது, ஏதுமில்லை திருப்பி அனுப்பப்படுகிறது.
  2. வழங்கப்பட்ட விசையானது இல் உள்ள மிக உயர்ந்த விசைக்கு சமமாக இருந்தால் மர வரைபடம் பொருள், பூஜ்யம் திரும்பும்.
  3. வழங்கப்பட்ட விசை என்றால் ஏதுமில்லை , பூஜ்ய சுட்டிக்காட்டி விதிவிலக்கு எழுப்பப்படுகிறது.
  4. என்றால் மர வரைபடம் காலியாக உள்ளது மற்றும் விசையை பூஜ்யமாக வழங்கினால், ஏதுமில்லை திருப்பி அனுப்பப்படுகிறது.

காட்சி:

பின்வரும் ஜோடிகளைக் கொண்ட ட்ரீமேப்பைக் கருத்தில் கொள்வோம்:



{ ( 1000 , 'சீனா' ) , ( 2890 , 'யுகே' ) , ( 5000 , 'எங்களுக்கு' ) , ( 1500 , 'டெல்லி' ) , ( 400 , 'ஜப்பான்' ) }

இப்போது, ​​HighKey() முறையில் உள்ள விசையை 1000 என குறிப்பிடவும்.

எனவே, 1000 ஐ விட அதிகமாக இருக்கும் விசைகள்: 1500,2890 மற்றும் 5000. அவற்றில், 1500 சிறியது. எனவே, முடிவு 1500 ஆகும்.

எடுத்துக்காட்டு 1:

மக்கள் தொகையை முக்கியமாகவும் நகரம்/மாநிலத்தை மதிப்பாகவும் சேமிக்கும் TreeMap சேகரிப்பை இங்கே உருவாக்குகிறோம். இப்போது, ​​HighKey() முறையைப் பயன்படுத்தி வழங்கப்பட்ட விசையை விட குறைவான அல்லது சமமான சில விசைகளைப் பெறுகிறோம்.

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

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

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

{

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

// விசையை முழு எண்ணாகவும் மதிப்பை சர வகைகளாகவும் கொண்டு ட்ரீமேப்பை உருவாக்கவும்
மர வரைபடம் மக்கள்தொகை_தரவு = புதிய மர வரைபடம் ( ) ;

// மக்கள்தொகை_தரவு பொருளில் 5 மதிப்புகளைச் செருகவும்
மக்கள்தொகை_தரவு. வைத்தது ( 1000 , 'சீனா' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 2890 , 'யுகே' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 5000 , 'எங்களுக்கு' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 1500 , 'டெல்லி' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 400 , 'ஜப்பான்' ) ;

அமைப்பு . வெளியே . println ( 'மக்கள் தொகை:' + மக்கள்தொகை_தரவு ) ;

// 1000க்கு அதிகமான விசையைப் பெறுங்கள்
அமைப்பு . வெளியே . println ( 'ஹயர் கீ(1000): ' + மக்கள்தொகை_தரவு. உயர் விசை ( 1000 ) ) ;

// 400 ஐ விட பெரிய விசையைப் பெறுங்கள்
அமைப்பு . வெளியே . println ( 'higherKey(400): ' + மக்கள்தொகை_தரவு. உயர் விசை ( 400 ) ) ;

}

}

வெளியீடு:

  1. கொடுக்கப்பட்ட திறவுகோல் 1000. 1500 மக்கள்தொகை_தரவில் 1000 ஐ விட அதிகமாக இருக்கும் 1000 ஐ விட அதிகமாகவும் மீதமுள்ள விசைகளை (2890, 5000) விடவும் குறைவாகவும் உள்ளது.
  2. கொடுக்கப்பட்ட திறவுகோல் 400. 1000 மக்கள்தொகை_தரவில் 400 க்கும் அதிகமான மீதமுள்ள விசைகளை (1500,2890,5000) விட 400 ஐ விட அதிகமாகவும் குறைவாகவும் உள்ளது.

எடுத்துக்காட்டு 2:

பின்வருவனவற்றை வழங்குவோம்:

  1. சாவியாக 5000
  2. சாவியாக பூஜ்ய
இறக்குமதி java.util.* ;

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

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

{

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

// விசையை முழு எண்ணாகவும் மதிப்பை சர வகைகளாகவும் கொண்டு ட்ரீமேப்பை உருவாக்கவும்
மர வரைபடம் மக்கள்தொகை_தரவு = புதிய மர வரைபடம் ( ) ;

// மக்கள்தொகை_தரவு பொருளில் 5 மதிப்புகளைச் செருகவும்
மக்கள்தொகை_தரவு. வைத்தது ( 1000 , 'சீனா' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 2890 , 'யுகே' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 5000 , 'எங்களுக்கு' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 1500 , 'டெல்லி' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 400 , 'ஜப்பான்' ) ;

அமைப்பு . வெளியே . println ( 'மக்கள் தொகை:' + மக்கள்தொகை_தரவு ) ;

// 5000க்கு அதிகமான விசையைப் பெறுங்கள்
அமைப்பு . வெளியே . println ( 'ஹயர் கீ(5000): ' + மக்கள்தொகை_தரவு. உயர் விசை ( 5000 ) ) ;

// பூஜ்யத்தை விட பெரிய விசையைப் பெறுங்கள்
அமைப்பு . வெளியே . println ( 'higherKey(null): ' + மக்கள்தொகை_தரவு. உயர் விசை ( ஏதுமில்லை ) ) ;

}

}

வெளியீடு:

  1. கொடுக்கப்பட்ட திறவுகோல் 5000. 5000 ஐ விட பெரிய விசை எதுவும் இல்லை. எனவே, ஏதுமில்லை திருப்பி அனுப்பப்படுகிறது.
  2. கொடுக்கப்பட்ட விசை பூஜ்யமானது, எனவே பூஜ்ய சுட்டிக்காட்டி விதிவிலக்கு திருப்பி அனுப்பப்படுகிறது.

LowerKey()

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

தொடரியல்:

மரம் வரைபடம்_பொருள். கீழ் விசை ( முக்கிய )

Treemap_object ஆனது TreeMap சேகரிப்பைக் குறிக்கும் இடத்தில்.

அளவுரு:

விசை முழு எண் வகையைச் சேர்ந்தது.

திரும்ப:

இது சேகரிப்பு பொருளிலிருந்து விசையை வழங்குகிறது.

குறிப்பு:

  1. என்றால் மர வரைபடம் பொருள் காலியாக உள்ளது, ஏதுமில்லை திருப்பி அனுப்பப்படுகிறது.
  2. வழங்கப்பட்ட விசையானது, இல் உள்ள குறைந்த விசைக்கு சமமாக இருந்தால் மர வரைபடம் பொருள், பூஜ்யம் திரும்பும்.
  3. வழங்கப்பட்ட விசை பூஜ்யமாக இருந்தால், பூஜ்ய சுட்டிக்காட்டி விதிவிலக்கு எழுப்பப்படுகிறது.
  4. என்றால் மர வரைபடம் காலியாக உள்ளது மற்றும் விசையை பூஜ்யமாக வழங்கினால், ஏதுமில்லை திருப்பி அனுப்பப்படுகிறது.

காட்சி:

பின்வரும் ஜோடிகளைக் கொண்ட ட்ரீமேப்பைக் கருத்தில் கொள்வோம்:

{ ( 1000 , 'சீனா' ) , ( 2890 , 'யுகே' ) , ( 5000 , 'எங்களுக்கு' ) , ( 1500 , 'டெல்லி' ) , ( 400 , 'ஜப்பான்' ) }

இப்போது, ​​lowerKey() முறையில் உள்ள விசையை 5000 எனக் குறிப்பிடவும்.

5000 க்கும் குறைவான விசைகள்: 2890,1500,1000 மற்றும் 400. அவற்றில், 2890 பெரியது. எனவே, முடிவு 2890 ஆகும்.

எடுத்துக்காட்டு 1:

மக்கள் தொகையை முக்கியமாகவும் நகரம்/மாநிலத்தை மதிப்பாகவும் சேமிக்கும் TreeMap சேகரிப்பை இங்கே உருவாக்குகிறோம். இப்போது, ​​HighKey() முறையைப் பயன்படுத்தி வழங்கப்பட்ட விசையை விட குறைவான அல்லது சமமான சில விசைகளைப் பெறுகிறோம்.

இறக்குமதி ஜாவா பயன்படும் . *;

இறக்குமதி ஜாவா பயன்படும் . மர வரைபடம் ;

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

{

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

// விசையை முழு எண்ணாகவும் மதிப்பை சர வகைகளாகவும் கொண்டு ட்ரீமேப்பை உருவாக்கவும்
TreeMap மக்கள் தொகை_தரவு = புதிய மர வரைபடம் ( ) ;

// மக்கள்தொகை_தரவு பொருளில் 5 மதிப்புகளைச் செருகவும்
மக்கள்தொகை_தரவு. வைத்தது ( 1000 , 'சீனா' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 2890 , 'யுகே' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 5000 , 'எங்களுக்கு' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 1500 , 'டெல்லி' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 400 , 'ஜப்பான்' ) ;

அமைப்பு. வெளியே . println ( 'மக்கள் தொகை:' + மக்கள்தொகை_தரவு ) ;

// 5000க்கு குறைவான விசையைப் பெறுங்கள்
அமைப்பு. வெளியே . println ( 'lowerKey(5000): ' + மக்கள்தொகை_தரவு. கீழ் விசை ( 5000 ) ) ;

// 400க்கு குறைவான விசையைப் பெறுங்கள்
அமைப்பு. வெளியே . println ( 'lowerKey(400):' + மக்கள்தொகை_தரவு. கீழ் விசை ( 400 ) ) ;

}


}

வெளியீடு:

  1. கொடுக்கப்பட்ட திறவுகோல் 5000. 2890 மக்கள்தொகை_தரவில் 5000 க்கும் குறைவான மீதமுள்ள விசைகளை (1000,1500) விட 5000 க்கும் குறைவானது மற்றும் பெரியது.
  2. கொடுக்கப்பட்ட திறவுகோல் 400 . 400க்குக் குறைவான விசை இல்லை. எனவே, ஏதுமில்லை திருப்பி அனுப்பப்படுகிறது.

எடுத்துக்காட்டு 2:

பூஜ்யத்தை விசையாக வழங்குவோம்.

இறக்குமதி ஜாவா பயன்படும் . *;

இறக்குமதி ஜாவா பயன்படும் . மர வரைபடம் ;

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

{

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

// விசையை முழு எண்ணாகவும் மதிப்பை சர வகைகளாகவும் கொண்டு ட்ரீமேப்பை உருவாக்கவும்
TreeMap மக்கள் தொகை_தரவு = புதிய மர வரைபடம் ( ) ;

// மக்கள்தொகை_தரவு பொருளில் 5 மதிப்புகளைச் செருகவும்
மக்கள்தொகை_தரவு. வைத்தது ( 1000 , 'சீனா' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 2890 , 'யுகே' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 5000 , 'எங்களுக்கு' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 1500 , 'டெல்லி' ) ;
மக்கள்தொகை_தரவு. வைத்தது ( 400 , 'ஜப்பான்' ) ;

அமைப்பு. வெளியே . println ( 'மக்கள் தொகை:' + மக்கள்தொகை_தரவு ) ;

// பூஜ்யத்தை விட குறைவான விசையைப் பெறுங்கள்
அமைப்பு. வெளியே . println ( 'lowerKey(null):' + மக்கள்தொகை_தரவு. கீழ் விசை ( ஏதுமில்லை ) ) ;

}


}

வெளியீடு:

கொடுக்கப்பட்ட திறவுகோல் ஏதுமில்லை . அதனால், பூஜ்ய சுட்டிக்காட்டி விதிவிலக்கு திருப்பி அனுப்பப்படுகிறது.

முடிவுரை

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