Peamine erinevus nende kahe vahel on see, et massiivides võib olla suvalise pikkusega andmetüüp, samas kui stringid on tavaliselt ASCII-märgid, mis lõpevad nullmärgiga '\ 0'. Mõlemad on väga erinevad selle poolest, kuidas neid rakendatakse erinevates programmeerimiskeeltes. Massiivid ja stringid töötavad Java-s väga erinevalt nagu C / C ++. See artikkel tutvustab massiivide ja keelte erapooletut võrdlust.
Paljud rakendused hõlmavad suurt andmemahtu ja nii suurte andmemahtude töötlemiseks vajame võimsat andmetüüpi, mis hõlbustaks andmeüksuste tõhusat salvestamist ja neile juurdepääsu. Siit tulevad pildile massiivid. Massiivid on spetsiaalne muutuja, mis viitab samasuguse tüüpi muutujate järjestikusele kogumile, millele viidatakse üldnimega. Tehnilises mõttes on see sama põhitüübi elementide järjestatud kogum, millel on üks nimi. Lihtsamalt öeldes pakub see mugavat vahendit seotud teabe rühmitamiseks. Java massiivid töötavad väga erinevalt kui C / C korral++.
String on tähemärkide jada, mis on esitatud ühe andmeüksusena ja mis lõpeb erimärgiga '\ 0' (null märk). Java ja C ++ keeles on stringid klassid ja nad käituvad erinevalt. Stringid deklareeritakse sarnaselt massiividega, välja arvatud char-tüüp. String on külgnev väärtuste jada üldnimega. Erinevalt massiividest on stringid muutumatud, mis tähendab, et nende väärtusi ei saa pärast nende omistamist muuta. Pärast stringi väärtuse omistamist ei saa stringi algset sisu muuta. Need on programmeerimise paradigma üks enim kasutatud klasse.
Massiiv on fikseeritud suurusega järjestatud kogum sama põhitüübi elemente. See on lihtsalt sama tüüpi muutujate kogum, millel on üks nimi ja mida saab kasutada nimede või numbrite loendi kuvamiseks. String sarnaneb massiiviga mõne erandiga. See on tähemärkide jada, mis on esitatud ühe andmeühikuna.
Massiivi ja stringi üks peamisi erinevusi on nende mällu salvestamine. Massiivi jaoks eraldatakse külgnev mäluplokk, mis tähendab, et see tähistab pidevat mäluplokki. Massiivide elemente hoitakse suurenevas mälukohas pidevalt. Stringid salvestatakse nagu muud tüüpi massiivid, kui need deklareeritakse märgimassiividena. Stringiklass sisaldab kursorit hunniku mälu mõnele osale, kus stringi tegelik sisu on mällu salvestatud.
Üks peamisi erinevusi nende kahe vahel on see, et stringid on muutumatud, mis tähendab, et kui stringiobjekt on määratud, ei saa objekti väärtust mälus muuta. Muutumatu tähendab lihtsalt objekti olekut, mida ei saa pärast selle loomist muuta. Pärast stringi jaoks väärtuse omistamist ei saa stringi algset sisu muuta. See tähendab lihtsalt, et uuele väärtusele ei saa mäluasukohas sama aadressi määrata, kuhu eelmine väärtus salvestati. Massiivid seevastu on muutlikud, mis tähendab, et välju saab muuta või muuta ka pärast nende loomist.
Massiivid on kõige tõhusam andmestruktuur andmete esitamiseks või samade või erinevat tüüpi andmetüüpide objektide talletamiseks ja neile juurdepääsu saamiseks. Need on dünaamiliselt loodud ja neid saab omistada mis tahes andmetüüpide muutujatele. Javas saab massiivi luua erinevate andmetüüpide hoidmiseks. See mahutab nii algupäraseid kui ka viiteid. Massiivid on spetsiaalsed muutujad, mis suudavad korraga hoida rohkem kui ühte väärtust. Stringid seevastu saavad hoida ainult char-andmeid, mis on kõige sagedamini kasutatavad andmetüübid. Märkimärgid võivad sisaldada mis tahes tähtede ja numbrite jada.
Massiivi pikkus määratakse selle loomisel ja kui see on tehtud, on see fikseeritud. Lihtsustatult öeldes on massiivi pikkus kindla suurusega, mis tähendab, et see võib hoida kindla tüübi väärtusi ühte tüüpi. Muutuva suurusega massiive pole C-s lubatud. Kui massiiv on eraldatud, on see kindla suurusega. Stringi suurus on muutuv, st seda saab muuta, kui see on märk.
Stringid ja massiivid on üsna sarnased, välja arvatud massiivi pikkus on fikseeritud, samas kui stringidel võib olla muutuv arv elemente. Tehniliselt on massiivid eritüübiline muutuja, mis mahutab korraga rohkem kui ühte väärtust. Need on sarnaste andmetüüpide elementide järjestikune kogum, samas kui stringid on märkide jada, mida kasutatakse teksti, mitte numbrite esitamiseks. Lisaks on stringid muutumatud, mis tähendab, et objekti väärtust ei saa pärast selle loomist muuta, samas kui massiivid on muudetavad, st väljade saab muuta. Lihtsamalt öeldes on massiiv sarnase tüüpi muutujate kogum, samas kui string on tähemärkide jada, mida tähistab üks andmetüüp.