Lecture overview -- Keyboard shortcut: 'u'  Previous page: Klasser som repræsenterer primitive typer -- Keyboard shortcut: 'p'  Next page: Sammensatte datatyper i Java: Records -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 5 : 39
Forelæsningsnoter i Objekt-orienteret Programmering
De ikke objekt-orienterede dele af Java
Sammensatte datatyper i Java: Arrays

Det er naturligt at spørge, hvordan Java håndterer sammensatte datatyper - altså datastrukturer. Som en vigtig del af 'sædvanlige' programmeringsprog findes der forskellige datastrukturer, såsom arrays, records, sets, mv. I Java bliver alle typer, som svarer til sådanne datastrukturer, realiseret som abstrakte datatyper, og implementeret som klasser.

I Java defineres datastrukturer som klasser i Java klassebiblioteket

  • Array typer

    • Et array er en indiceret sekvens af værdier af samme type med effektiv tilgang.

    • Eksempel på array-erklæring:

      • boolean[] tabel = new boolean [MAXINDEX];

      • Element type: Boolean

      • Indekstypen: Altid af typen int

      • Indeksgrænser: 0 .. MAXINDEX-1

    • Vi vender tilbage til arrays og collections i en senere lektion

I array eksemplet er tabel et objekt, som instantieres på en særlig array-specifik måde. Det første element i et array har altid indeks 0. Ovenstående eksempel svarer til Pascal erklæringen:

    tabel: array[0 .. MAXINDEX-1] of boolean
Det kan forekomme uheldig at man har taget særligt, syntaktisk hensyn til arrays i Java. Principielt kunne arrays håndteres som enhver anden datatype - implementeret som en klasse. Bevæggrunden for særbehandlingen er dog klar nok: at gøre arrays effektive i sproget.

I mange sammenhænge vil en Java programmør bruge andre typer end Array, hvis man ønsker at at arbejde med samlinger af data. Java understøtter et Collection begreb, som er på et langt højere abstraktionsniveau end arrays. Mere om dette i en senere lektion.

Ofte opfattes strenge som en særlig type af arrays. I Java er strenge objekter af typen String. Dog er der ligesom ved arrays særlig sproglig understøttelse af strings i Java. I en senere lektion ser vi nærmere på strenge i java.