"உங்கள் மூளைக்கு ஒரு சிறிய பயிற்சி எப்படி? அது இன்னும் வேலை செய்யும் நிலையில் உள்ளது என்று நம்புகிறேன்."

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

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

"அதனால்தான் ஒரே தொகுப்பின் பல பதிப்புகளைச் செயல்படுத்த முடிவு செய்யப்பட்டது. ஒவ்வொரு செயலாக்கமும் சில குறுகிய செயல்பாடுகளுக்கு உகந்ததாக இருக்க வேண்டும். இப்படித்தான் வெவ்வேறு சேகரிப்புகள் வந்தன. உதாரணங்களாக இரண்டு வகுப்புகளைப் படிப்போம்: ArrayList மற்றும் LinkedList ."

வரிசைப்பட்டியல் மற்றும் இணைப்புப்பட்டியல் - 1

"உள்ளே, ArrayList ஒரு சாதாரண வரிசையாக செயல்படுத்தப்படுகிறது . அதனால்தான் நடுவில் ஒரு உறுப்பைச் செருகுவதற்கு, முதலில் வரும் அனைத்து உறுப்புகளையும் ஒன்றாக மாற்ற வேண்டும், பின்னர் புதிய உறுப்பை இலவச ஸ்லாட்டில் வைக்க வேண்டும். உறுப்புகளைப் பெறுதல் மற்றும் அமைத்தல் (பெறவும், அமைக்கவும் ) வேகமானது , ஏனெனில் இந்த செயல்பாடுகள் தொடர்புடைய வரிசை உறுப்பைக் குறிப்பிடுகின்றன."

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

விளக்கம் ஆபரேஷன் வரிசைப்பட்டியல் இணைக்கப்பட்ட பட்டியல்
ஒரு உறுப்பு கிடைக்கும் பெறு வேகமாக மெதுவாக
ஒரு உறுப்பை அமைக்கவும் அமைக்கப்பட்டது வேகமாக மெதுவாக
ஒரு உறுப்பைச் சேர்க்கவும் (பட்டியலின் முடிவில்) கூட்டு வேகமாக வேகமாக
ஒரு உறுப்பைச் செருகவும் (தன்னிச்சையான நிலையில்) சேர்(i, மதிப்பு) மெதுவாக வேகமாக
ஒரு உறுப்பை அகற்று அகற்று மெதுவாக வேகமாக

"நான் பார்க்கிறேன். நான் அதை இப்போது புரிந்து கொள்ளத் தொடங்குகிறேன். ஒரு குறிப்பிட்ட சூழ்நிலையில் எந்த சேகரிப்பு சிறந்தது என்பதை அறிய உதவும் அளவுகோல்கள் அல்லது விதிகள் ஏதேனும் உள்ளதா?"

"எளிமையாக இருக்க, நான் உங்களுக்கு பின்வரும் விதியைத் தருகிறேன்: சேகரிப்பின் நடுவில் நீங்கள் அடிக்கடி கூறுகளைச் செருக (அல்லது அகற்ற) விரும்பினால், LinkedList ஐப் பயன்படுத்துவது நல்லது. மற்ற எல்லா நிகழ்வுகளிலும், ArrayList சிறப்பாகச் செயல்படும் . "

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