ஜாவா ட்ரீமேப் வகுப்பு, வரைபட இடைமுகத்தைப் பயன்படுத்தி மர அமைப்பில் தரவைச் சேமிக்கிறது. இந்த வகுப்பு AbstractMap வகுப்பை விரிவுபடுத்துகிறது மற்றும் அதன் பெற்றோர் வகுப்பைப் போலவே, TreeMap இரண்டு வகை அளவுருக்களைக் கொண்டுள்ளது. அதன் வகை அளவுருக்களில் ஒன்று TreeMap இல் உள்ள விசைகளைக் குறிக்கிறது, மற்றொன்று மதிப்புகளைக் குறிக்கிறது.
TreeMap தரவு அமைப்பு முக்கிய மதிப்பு ஜோடிகளை சேமித்து, இந்தத் தரவில் CRUD செயல்பாடுகளைச் செய்ய உங்களை அனுமதிக்கிறது.
பயன்படுத்திய மேக்புக் வாங்க சிறந்த இடம்
ஜாவாவில் ட்ரீமேப்பை உருவாக்குவது எப்படி
TreeMap வகுப்பில் நான்கு கன்ஸ்ட்ரக்டர்கள் உள்ளன, அதை நீங்கள் ஒரு புதிய TreeMap பொருளை உருவாக்க பயன்படுத்தலாம். டிஃபால்ட் கன்ஸ்ட்ரக்டர் நான்கில் மிகவும் பிரபலமானது. இந்த கன்ஸ்ட்ரக்டர் எந்த வாதங்களையும் எடுக்கவில்லை மற்றும் ஒரு வெற்று மர வரைபடத்தை உருவாக்குகிறது.
// Create a new tree map
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();
மேலே உள்ள குறியீடு ஒரு வெற்று மர வரைபடத்தை உருவாக்குகிறது வாடிக்கையாளர்கள் .
TreeMap தரவு கட்டமைப்பை நிரப்புதல்
தி போட () முறை ஒரு பொருளை TreeMap பொருளில் சேர்க்கிறது. இதற்கு இரண்டு வாதங்கள் தேவை - ஒரு விசை மற்றும் அதன் மதிப்பு. நீங்கள் மர வரைபடத்தில் உருப்படிகளை எந்த சீரற்ற வரிசையிலும் சேர்க்கலாம் மற்றும் தரவு அமைப்பு அவற்றின் விசைகளின் படி அவற்றை ஏறுவரிசையில் சேமிக்கும்.
// Populate a tree map
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");
மேலே உள்ள குறியீடு, வாடிக்கையாளர்களின் மர வரைபடத்தில், சீரற்ற வரிசையில், ஐந்து வாடிக்கையாளர்களைச் சேர்க்கிறது.
ட்ரீமேப்பில் பொருட்களைப் பார்ப்பது
TreeMap வகுப்பு அதன் தரவை ஒரு பொருளில் சேமிக்கிறது. எனவே, ஒரு மர வரைபடத்தில் உள்ள அனைத்து பொருட்களையும் பார்க்க, மர வரைபடப் பொருளை கன்சோலில் அச்சிடலாம்:
// View all tree map items as an object
System.out.println(customers);
மேலே உள்ள குறியீடு கன்சோலில் பின்வரும் வெளியீட்டை அச்சிடுகிறது:
{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
மேலே உள்ள பொருள் உருப்படிகளை ஏறுவரிசையில் காட்டுகிறது என்பதை நினைவில் கொள்க. ஒவ்வொரு பொருளையும் அதனுடன் தொடர்புடைய விசையையும் நீங்கள் பார்க்கலாம் வளையத்திற்கான ஜாவா .
// View all items with an iterator
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}
மேலே உள்ள குறியீடு கன்சோலில் பின்வரும் வெளியீட்டை அச்சிடுகிறது:
Key: 101 Value: Kim Brown
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones
ட்ரீமேப்பில் உருப்படிகளைப் புதுப்பித்தல்
TreeMap வகுப்பு, ஏற்கனவே உள்ள பொருளைப் பயன்படுத்தி புதுப்பிக்க உங்களை அனுமதிக்கிறது மாற்று() முறை. இரண்டு மாற்று முறைகள் உள்ளன. முதல் முறை ஏற்கனவே உள்ள விசையையும், ஏற்கனவே உள்ள விசையை வரைபடமாக்க விரும்பும் புதிய மதிப்பையும் எடுக்கும்.
// Replace existing value
customers.replace(101,"Kim Smith");
System.out.println(customers);
மேலே உள்ள குறியீடு கன்சோலில் பின்வரும் பொருளை அச்சிடுகிறது:
{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
நீங்கள் பார்க்க முடியும் என கிம் பிரவுன் இப்பொழுது கிம் ஸ்மித் . இரண்டாவது மாற்று() முறை ஏற்கனவே உள்ள விசை, விசையின் தற்போதைய மதிப்பு மற்றும் நீங்கள் விசையுடன் வரைபடமாக்க விரும்பும் புதிய மதிப்பை எடுக்கும்.
// Replace existing value
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);
மேலே உள்ள குறியீடு கன்சோலில் பின்வரும் பொருளை அச்சிடுகிறது:
{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}
மேலே உள்ள பொருளில் மைக்கேல் நோவா மாற்றுகிறது ஜிம் ரிலே .
ட்ரீமேப்பில் இருந்து பொருட்களை நீக்குதல்
நீங்கள் மர வரைபடத்திலிருந்து ஒரு பொருளை அகற்ற விரும்பினால், தி அகற்று() முறை உங்கள் ஒரே விருப்பம். இது நீங்கள் அகற்ற விரும்பும் உருப்படியுடன் தொடர்புடைய விசையை எடுத்து, நீக்கப்பட்ட மதிப்பை வழங்கும்.
// Remove an item
customers.remove(104);
System.out.println(customers);
மேலே உள்ள குறியீட்டை இயக்குவது பின்வரும் பொருளை கன்சோலில் அச்சிடுகிறது:
{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}
இது ஜாவா வகுப்பு ஒரு உள்ளது தெளிவான () மர வரைபடத்தில் உள்ள அனைத்து பொருட்களையும் நீக்க உங்களை அனுமதிக்கும் முறை.
ட்ரீமேப் எதிராக ஹாஷ்மேப் ஜாவா கிளாஸ்
TreeMap மற்றும் HashMap ஆகியவை மிகவும் பிரபலமான ஜாவா வரைபட வகுப்புகளில் இரண்டு. அவர்கள் இருவரும் சுருக்க வரைபட வகுப்பை நீட்டிக்கிறார்கள். இந்த உறவு TreeMap மற்றும் HashMap வகுப்புகளுக்கு ஒரே மாதிரியான செயல்பாடுகளுக்கு அணுகலை வழங்குகிறது.
இருப்பினும், இந்த இரண்டு வரைபட வகுப்புகளுக்கு இடையே சில குறிப்பிடத்தக்க வேறுபாடுகள் உள்ளன. ட்ரீமேப், வரைபட இடைமுகத்தின் சிவப்பு-கருப்பு மர செயலாக்கத்தைப் பயன்படுத்துகிறது, அதே சமயம் ஹாஷ்மேப் ஹாஷ் அட்டவணையைப் பயன்படுத்துகிறது. HashMap ஒரு பூஜ்ய விசையை சேமிக்க உங்களை அனுமதிக்கிறது, TreeMap இல்லை. இறுதியாக, ட்ரீமேப்பை விட ஹாஷ்மேப் வேகமானது. முந்தைய வழிமுறையின் வேகம் O(1) மற்றும் பிந்தையது O(log(n)) ஆகும்.