Hvis du ikke vet om C ++ -versjonen av Java's ArrayList, Følg retningslinjene for denne artikkelen.
Hva er Javas ArrayList -versjon i C++?
C ++ ekvivalent med Javas arraylist kalles std :: vektor. Det er en vanlig datastruktur som lagrer mange elementer som deler lignende datatyper. Programmereren kan vokse eller krympe matrisestørrelsen i henhold til deres valg. I tillegg til at det lar deg sette inn eller slette elementer i en matrise på en effektiv måte. Du kan også få tilgang til elementene i en matrise i hvilken som helst stilling ganske effektivt. Videre kan du sortere elementene i en matrise i stigende eller synkende rekkefølge og søke eller manipulere matriseelementer inne i vektoren.
Her er utvalget av en C ++ versjon av Java's ArrayList:
#inkludere
#inkludere
int main ()
std :: vektorv = 43, 34, 18, 18, 19;
v.push_back (32);
v.push_back (45);
std :: cout << "v = ";
for (int n: v)
std :: cout << n << ", ";
std :: cout << "; \n";
I koden ovenfor erklærer vi og initialiserer en vektor C, og legge til to elementer på slutten, og viser at det kan fordeles dynamisk.
Produksjon
Likheter mellom Javas ArrayList og STD :: Vector
1: Dynamiske datastrukturer
Begge Java's ArrayList og C ++ 's std :: vektor er dynamiske datastrukturer. De brukes til å holde et sett med varer som er tilgjengelige og justerbare i sanntid. Både std :: vektor og ArrayList kan holde et hvilket som helst antall elementer. Derfor er de perfekte for tilfeller der antall elementer som skal lagres er tvetydig eller endres over tid.
2: Dynamisk
std :: vektor i C ++ og ArrayList I Java har begge kapasitet til å vokse dynamisk. De endrer automatisk for å imøtekomme et nytt element hvis de blir lagt til. Denne fordelen mangler fra typiske matriser. Videre gir begge datastrukturer en metode for å fjerne medlemmer fra midten av listen uten å lage et gap. Ved å gjøre dette er listen alltid riktig indeksert.
3: ytelse
Javaene ArrayList og C ++ 's std :: vektor er ganske effektiv når det gjelder ytelse. De gir god ytelse mens de oppdaterer listen og gir rask tilgang til delene. Det er noen forskjeller i hvordan de fungerer. std :: vektor er litt raskere enn Javas ArrayList, som implementeres som en matrise støttet av et objekt.
4: Lagre flere datatyper
Std :: vektor i C ++ og ArrayList I Java kan begge holde mange datatyper. De er i stand til å lagre alle slags objekter eller datatype, inkludert char, int, float og dobbel. De er derfor stadig mer fleksible og hjelpsomme i en rekke programmer.
Konklusjon
Javaene ArrayList har en C ++ ekvivalent kalt std :: vektor. Det er en dynamisk datastruktur med kapasitet til å holde enhver datatype, muligheten til å endre størrelsen dynamisk, og muligheten til raskt å få tilgang til elementene. Du kan bruke dette ArrayList Når som helst i C ++ -koden din ved å følge prøvekoden presentert i retningslinjene ovenfor.