Ett arrayobjekt är en bit data som hålls på en specifik plats i ett block av angränsande minne. Dessa minnesblock kallas arrayer, och de används för att gruppera liknande objekt tillsammans för enkel organisation och åtkomst i ett datorprogram. Placeringen av ett objekt i en array kallas ett index; i de flesta datorspråk börjar indexet för det första objektet på 0, snarare än 1. Ett objekt behöver inte vara närvarande vid varje index i en array. Till exempel kan en array ha plats för fem objekt, men bara ha objekt placerade vid index 0, 2 och 3.
Alla objekt i en array måste vara av samma typ, så om en array deklareras innehålla strängar måste varje arrayobjekt vara en sträng. Ett arrayobjekt kan ha vilken storlek som helst och innehålla vilken typ av data som helst, så länge som den allmänna objekttypen är den som deklareras av arrayen. En strängmatris kan innehålla en sträng på 50 tecken och nästa index kan vara 50,000 XNUMX tecken lång; bara deras typer spelar roll. Arrayobjekt kan vara enkla typer, som ett tal eller en sträng, eller vilken typ av komplexa objekt som helst.
Under vissa omständigheter kan ett arrayobjekt vara en helt ny array. När en array innehåller ett objekt som i sig är en array, kallas den innehållande arrayen en flerdimensionell array. Det finns två typer av arrayobjekt i flerdimensionella arrayer: arrayobjekten som själva är arrayer och objekten som dessa sekundära arrayer innehåller. Alla tidigare typregler gäller för flerdimensionella arrayer, så om ett arrayobjekt också är en array måste alla andra objekt också vara arrayer. Denna kapsling av arrayer kan göras så många gånger som behövs, vilket gör tvådimensionella rutnät, tredimensionella kuber eller datakluster på högre nivå.
Arrayer, och typen av arrayobjekt som tillåts inuti dem, skiljer sig något mellan programmeringsspråken. Vissa språk tillåter fullständig kontroll över arrayer och deras objekt, vilket gör att en programmerare kan skapa dem efter behag. Andra gömmer arrayerna och objekten inuti omslag som tillåter en programmerare att manipulera dem indirekt. Ytterligare andra språk har speciella konstruktioner som tvingar en array att se alla objekt som samma typ, vilket delvis ogiltigförklarar dess regel om typspecificitet utan att bryta de underliggande data. Oavsett hur arrayer implementeras, påverkas själva arrayobjekten aldrig förutom att de grupperas, och möjligheten att gruppera arrayobjekt är ett viktigt verktyg i dataorganisation.