Skip to main content
Dat 1. Sem Efterår 2025
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Datastrukturer

Mandag

Vi skal lære om flere datastrukturer. Hidtil har ArrayList tjent os godt, men Collections frameworket i Java tilbyder mange flere, hver med deres egenskaber. Vi skal især kigge nærmere på List, Set og Map* i denne uge - og deres individuelle arvinger.

Vi kigger også på hvordan vi kan lave vores egne specialicerede strukturer ved at wrappe nogle af de eksisterende, og hvordan vi kan lave vores egne datatyper med Enum

*) Teknisk set er Map ikke en del af Collections frameworket, men den er en vigtig datastruktur, så den er altid med alligevel!

Dagens læringsmål

  • Kendskab til List, Set, Lists og Maps samt deres egenskaber og metoder.
  • Forståelse for hvordan datastrukturerne bruges, og for hvordan man udvælger hvilken man vil bruge
  • Anvendelse af forskellige datastrukturer i praksis til typiske opgaver som at finde eller fjerne bestemte elementer, undgå dubletter eller tælle forekomster af kategorier

Materialer

Tirsdag

Vi går lidt dybere i hvordan Set og Map kender forskel på objekterne, og hvorfor det nu er at vi nogle gange kan bruge == og andre gange er nødt til at bruge .equals(). Og vi bliver også introduceret til .hashCode()

Dagens læringsmål

  • forstå hvornår objekter er “ens” versus “identiske”
  • forstå hvorfor vi har behov for .equals og .hashCode
  • kunne bruge generatorer til at lave koden for .equals og .hashCode

Onsdag

Sortering. Noget af det rigtig fede ved at bruge de forskellige Collections er at man automatisk får værktøjer der kan sortere ens data.

Vi skal forstå hvordan man sammenligner to objekter for at vurdere hvilken rækkefølge de sorteres i, og hvordan vi laver en Comperator og giver til den indbyggede sorterings-algoritme.

Og så kigger vi lidt på datastrukturer der sorterer sig selv. Opgaver

Dagens læringsmål

  • Forstå Comperator og kunne lave egne comperatorer til at bruge i sorterings-algoritmer
  • Kendskab til SortedMap og SortedSet samt forskellen på TreeMap/TreeSet og HashMap/HashSet i forhold til sortering.

Torsdag

Torsdag arbejder I med torsdags-opgaven - I skal bygge et kasseapparat til et supermarked, som automatisk udregner tilbud, og udskriver en overskuelig kassebon.

Opgaven går i høj grad ud på at udvælge de bedste datastrukturer til at løse de forskellige problemer.

Fredag

Review som vi plejer, men med ekstra fokus på hvilke datastrukturer der er valgt, og hvordan de er anvendt