አራሬይስት vs ቬክተር
የአደራደር ዝርዝር እንደ ተለዋዋጭ ድርድር ሊታይ ይችላል፣ ይህም በመጠን ሊያድግ ይችላል። በዚህ ምክንያት, ፕሮግራመር እሱ / እሷ ሲገልጹ የአደራጁን መጠን ማወቅ አያስፈልገውም. ቬክተር በመጠን ሊያድግ የሚችል ድርድር ተደርጎ ሊታይ ይችላል። ቬክተሮች በቀላሉ ሊመደቡ ይችላሉ እና የሚፈለገው የማከማቻ መጠን እስካልታወቀበት ጊዜ ድረስ ጥቅም ላይ ሊውል ይችላል።
አደራዳሪ ምንድነው?
የአደራደር ዝርዝር እንደ ተለዋዋጭ ድርድር ሊታይ ይችላል፣ ይህም በመጠን ሊያድግ ይችላል። ስለዚህ መግለጫ በሚሰጥበት ጊዜ የሚፈለጉትን ንጥረ ነገሮች መጠን በማያውቁት ሁኔታ ውስጥ አራላይሊስቶች ለመጠቀም ተስማሚ ናቸው።በጃቫ ውስጥ አራላይሊስቶች እቃዎችን ብቻ ነው የሚይዙት፣ የጥንት አይነቶችን በቀጥታ መያዝ አይችሉም (የጥንታዊ ዓይነቶችን በአንድ ነገር ውስጥ ማስገባት ወይም የጥንታዊ ዓይነቶችን የመጠቅለያ ክፍሎችን መጠቀም ይችላሉ)። በአጠቃላይ አራላይሊስቶች ማስገባትን፣ መሰረዝን እና መፈለግን ለማከናወን ዘዴዎችን ይሰጣሉ። የአንድን ንጥረ ነገር መዳረሻ የጊዜ ውስብስብነት o(1) ሲሆን ማስገባት እና መሰረዝ ግን የ o(n) ውስብስብነት አለው። በጃቫ ውስጥ፣ አራላይሊስቶች የፊት ሉፕ፣ ተደጋጋሚ ወይም በቀላሉ ኢንዴክሶችን በመጠቀም ማጓጓዝ ይችላሉ። በጃቫ፣ አራላይሊስቶች ከስሪት 1.2 መጡ እና የጃቫ ስብስቦች ማዕቀፍ አካል ነው።
ቬክተር ምንድን ነው?
ቬክተር በመጠን ሊያድግ የሚችል ድርድር ነው። ቬክተሮች በቀላሉ ሊከፋፈሉ የሚችሉ እና የሚፈለገው የማከማቻ መጠን እስከ ሩጫ ጊዜ ድረስ በማይታወቅበት ጊዜ ጥቅም ላይ ሊውል ይችላል. ቬክተሮች እንዲሁ ነገሮችን ብቻ ይይዛሉ እና ጥንታዊ ዓይነቶችን መያዝ አይችሉም። ቬክተሮች ተመሳስለዋል፣ስለዚህም ባለብዙ ክሮች ባሉበት አካባቢ ደህንነቱ በተጠበቀ ሁኔታ ጥቅም ላይ ሊውል ይችላል። ቬክተሮች እቃዎችን ለመጨመር, እቃዎችን ለመሰረዝ እና ነገሮችን ለመፈለግ ዘዴዎች ይሰጣሉ.በጃቫ ውስጥ ካለው አደራደር ጋር በሚመሳሰል መልኩ፣ ቬክተሮች የፊት ሉፕ፣ ተደጋጋሚ ወይም በቀላሉ ኢንዴክሶችን በመጠቀም ማጓጓዝ ይችላሉ። ወደ ጃቫ ስንመጣ ቬክተሮች ከመጀመሪያው የጃቫ ስሪት ጀምሮ ተካተዋል።
በአርራይሊስት እና በቬክተር መካከል ያለው ልዩነት ምንድነው?
ምንም እንኳን ሁለቱም አራላይስቶች እና ቬክተሮች በመጠን ሊያድጉ ከሚችሉ ተለዋዋጭ ድርድር ጋር በጣም ተመሳሳይ ቢሆኑም አንዳንድ አስፈላጊ ልዩነቶች አሏቸው። በአራራይሊስቶች እና በቬክተር መካከል ያለው ዋናው ልዩነት ቬክተርዎቹ ሲመሳሰሩ እና አራላይሊስቶች ግን ያልተመሳሰሉ መሆናቸው ነው። ስለዚህ ባለብዙ-ክር አካባቢዎች ውስጥ arraylists መጠቀም ተስማሚ አይሆንም, ቬክተሮች ደግሞ ባለብዙ-ክር አካባቢዎች ውስጥ ደህንነቱ በተጠበቀ ሁኔታ ጥቅም ላይ ሊውል ይችላል (እነርሱ ክር አስተማማኝ ናቸው ጀምሮ). ነገር ግን በቬክተሮች ውስጥ ማመሳሰል የአፈፃፀም ቅነሳን ያስከትላል. ስለዚህ በአንድ ክር አካባቢ ውስጥ ቬክተሮችን መጠቀም ጥሩ ሀሳብ አይሆንም. ከውስጥ፣ ሁለቱም አራራይሊስቶች እና ቬክተሮች እቃዎችን ለመያዝ ድርድር ይጠቀማሉ። አሁን ያለው ቦታ በቂ ካልሆነ፣ ቬክተሮች የውስጣዊውን አደራደር በእጥፍ ይጨምራሉ፣ አርራይሊስቶች ደግሞ የውስጣዊውን የድርድር መጠን በ50% ይጨምራሉ።ነገር ግን ሁለቱንም አራላይስቶች እና ቬክተሮች ሲጠቀሙ ተስማሚ የሆነ የመነሻ አቅም በመስጠት የውስጥ ድርድርን አላስፈላጊ መጠን መቀየርን ማስቀረት ይቻላል። የውሂብ ዕድገት መጠን በሚታወቅበት ሁኔታ የቬክተሮች ጭማሪ ዋጋ ሊገለጽ ስለሚችል ቬክተርን መጠቀም የበለጠ ተስማሚ ይሆናል።