Lecture overview -- Keyboard shortcut: 'u'  Previous page: Associative arrays [Section] -- Keyboard shortcut: 'p'  Next page: Lister [Section] -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 11 : 28
Forelæsningsnoter i Objekt-orienteret Programmering
Arrays og Lister
Associative arrays

Et associativt array er et array hvor indekserne (nøglerne) ikke blot er heltal, men vilkårlige objekter, eksempelvis strenge

Et associativt array kendetegnes ved at vi kan indicere med værdier eller objekter, som er mere generelle end ordinaltyperne integer, char mv. Som navnet antyder er et associativt array velegnet til at associere to objekter, lad os sige o1 og o2, til hinanden. Givet o1 kan man via det associative array slå det associerede objekt o1 op

En skitse af et associativt array hvor nøgleobjekterne indicerer obj objekterne

  • Der er ikke nødvendigvis nogen naturlig rækkefølge af elementerne i et associativt array

    • I modsætning til et almindeligt array som altid lagres i indeks orden

  • Det er som oftest nødvendigt at lagre nøgleobjektet sammen med det associerede objekt

    • I modsætning til et almindeligt array hvor indekser ikke lagres i array'et

Nøgleobjektet skal lagres sammen med det associerede objekt for, under opslag i det associative array at kunne erkende, om man står ved det rigtige element

  • Det er en udfordring at implementere effektiv tilgang til elementerne i et associativt array

    • I modsætning til et almindeligt array hvor effektiv tilgang er let at implementere

Associative arrays implementeres typisk som såkaldte hashtabeller

Hashtabeller behandles på kurset Algoritmik

Go to exerciseOpgave om associative arrays