Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduktion til Datastrukturer | Fundamentale Datastrukturer i Java
Java Datastrukturer

bookIntroduktion til Datastrukturer

Velkommen til Java Datastrukturer! Dette kursus er tilpasset Java-udviklere, der ønsker at styrke deres forståelse af datastrukturer og øge deres kodeeffektivitet.

Dette kursus er ikke for begyndere. Hvis du ikke har gennemført vores tre foregående Java-kurser, kan du finde det udfordrende.

For at få mest muligt ud af dette kursus anbefales det kraftigt at gennemføre dem først, før du går i gang med Java Datastrukturer.

Hvad er Collections, og hvorfor er de nødvendige?

Collections i Java er en af de datastrukturer, der bruges meget ofte. En datastruktur er en måde at lagre forskellige datatyper på.

Kort sagt er en collection en liste af data eller variabler af en bestemt type.
Mens arrays er statiske, hvilket betyder, at de har en fast størrelse defineret under initialisering, kan collections betragtes som dynamiske arrays. De udvides, når der tilføjes elementer til dem. Så når du tilføjer et element til listen, øges størrelsen på listen, indtil den kan rumme alle elementerne.

Samlinger kan hjælpe os med at forstå hvordan en database fungerer, fordi vi med samlinger også kan gemme store mængder data. I samlinger kan vi gemme objekter fra forskellige klasser. Vi kan endda gemme arrays i samlinger, hvilket er en meget praktisk måde at lagre store mængder data på.

Wrappers

For at begynde at arbejde med samlinger er det værd at bemærke, at samlinger ikke kan arbejde med primitive datatyper. De arbejder specifikt med objekter. For at gemme et simpelt tal eller bogstav skal vi bruge en wrapper-klasse for den primitive datatype.

Primitive datatyper (såsom int, char, float, boolean og andre) er ikke objekter, og nogle gange er der behov for at arbejde med dem som objekter, for eksempel i samlinger eller når man bruger klasser, der forventer objekter. Wrapper-klasser tilbyder en objektorienteret indpakning for hver primitiv type.

Her er en liste over wrapper-klasser for primitiver typer:

Disse klasser tilbyder metoder til konvertering mellem primitiver typer og objekter, samt forskellige funktioner til at arbejde med værdier, såsom sammenligning, aritmetiske operationer og mere.

Her er nogle eksempler på brug af wrapper-klasser:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // Autoboxing: converting a primitive int to an `Integer` object int prim = wrap; // Unboxing: converting an `Integer` object back to a primitive int int result = wrap.compareTo(prim); // Using the `compareTo` method of the `Integer` class System.out.println(result); } }

I koden ovenfor oprettede vi et objekt af klassen Integer og initialiserede det med et almindeligt tal. Dette er et eksempel på autoboxing. Derefter oprettede vi en primitiv int og tildelte den wrapperens værdi, hvilket kaldes unboxing.

Heraf kan vi forstå, at autoboxing er automatisk konvertering af en primitiv datatyppe til et objekt af wrapper-klassen. Omvendt er unboxing automatisk konvertering af et objekt af wrapper-klassen tilbage til en primitiv datatyppe.

Du kan også se, hvordan vi brugte sammenligningsmetoden, som returnerer 0, hvis værdierne er ens, 1, hvis venstre værdi er større end højre, og -1, hvis venstre værdi er mindre end højre.

Wrapper-klasser tilbyder mange nyttige metoder. Du vil ikke gennemgå dem alle nu, men du kan udforske dem i dit IDE.

Opgave

Swipe to start coding

Fuldfør metoden upgrade_comparing, så den bruger compareTo()-metoden og returnerer en beskrivende meddelelse afhængig af sammenligningsresultatet.

  1. Kald compareTo()-metoden på left_value, med right_value som argument.
  2. Gem resultatet i variablen comparingResult.
  3. Brug en switch-sætning til at behandle dette resultat:
    • Hvis resultatet er -1, tildel "The right value is greater" til variablen result.
    • Hvis resultatet er 0, tildel "The values are equal" til variablen result.
    • Hvis resultatet er 1, tildel "The left value is greater" til variablen result.
  4. Hvis resultatet af en eller anden grund ikke matcher nogen af disse værdier, udskriv "Error".
  5. Returnér variablen result fra metoden.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookIntroduktion til Datastrukturer

Stryg for at vise menuen

Velkommen til Java Datastrukturer! Dette kursus er tilpasset Java-udviklere, der ønsker at styrke deres forståelse af datastrukturer og øge deres kodeeffektivitet.

Dette kursus er ikke for begyndere. Hvis du ikke har gennemført vores tre foregående Java-kurser, kan du finde det udfordrende.

For at få mest muligt ud af dette kursus anbefales det kraftigt at gennemføre dem først, før du går i gang med Java Datastrukturer.

Hvad er Collections, og hvorfor er de nødvendige?

Collections i Java er en af de datastrukturer, der bruges meget ofte. En datastruktur er en måde at lagre forskellige datatyper på.

Kort sagt er en collection en liste af data eller variabler af en bestemt type.
Mens arrays er statiske, hvilket betyder, at de har en fast størrelse defineret under initialisering, kan collections betragtes som dynamiske arrays. De udvides, når der tilføjes elementer til dem. Så når du tilføjer et element til listen, øges størrelsen på listen, indtil den kan rumme alle elementerne.

Samlinger kan hjælpe os med at forstå hvordan en database fungerer, fordi vi med samlinger også kan gemme store mængder data. I samlinger kan vi gemme objekter fra forskellige klasser. Vi kan endda gemme arrays i samlinger, hvilket er en meget praktisk måde at lagre store mængder data på.

Wrappers

For at begynde at arbejde med samlinger er det værd at bemærke, at samlinger ikke kan arbejde med primitive datatyper. De arbejder specifikt med objekter. For at gemme et simpelt tal eller bogstav skal vi bruge en wrapper-klasse for den primitive datatype.

Primitive datatyper (såsom int, char, float, boolean og andre) er ikke objekter, og nogle gange er der behov for at arbejde med dem som objekter, for eksempel i samlinger eller når man bruger klasser, der forventer objekter. Wrapper-klasser tilbyder en objektorienteret indpakning for hver primitiv type.

Her er en liste over wrapper-klasser for primitiver typer:

Disse klasser tilbyder metoder til konvertering mellem primitiver typer og objekter, samt forskellige funktioner til at arbejde med værdier, såsom sammenligning, aritmetiske operationer og mere.

Her er nogle eksempler på brug af wrapper-klasser:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // Autoboxing: converting a primitive int to an `Integer` object int prim = wrap; // Unboxing: converting an `Integer` object back to a primitive int int result = wrap.compareTo(prim); // Using the `compareTo` method of the `Integer` class System.out.println(result); } }

I koden ovenfor oprettede vi et objekt af klassen Integer og initialiserede det med et almindeligt tal. Dette er et eksempel på autoboxing. Derefter oprettede vi en primitiv int og tildelte den wrapperens værdi, hvilket kaldes unboxing.

Heraf kan vi forstå, at autoboxing er automatisk konvertering af en primitiv datatyppe til et objekt af wrapper-klassen. Omvendt er unboxing automatisk konvertering af et objekt af wrapper-klassen tilbage til en primitiv datatyppe.

Du kan også se, hvordan vi brugte sammenligningsmetoden, som returnerer 0, hvis værdierne er ens, 1, hvis venstre værdi er større end højre, og -1, hvis venstre værdi er mindre end højre.

Wrapper-klasser tilbyder mange nyttige metoder. Du vil ikke gennemgå dem alle nu, men du kan udforske dem i dit IDE.

Opgave

Swipe to start coding

Fuldfør metoden upgrade_comparing, så den bruger compareTo()-metoden og returnerer en beskrivende meddelelse afhængig af sammenligningsresultatet.

  1. Kald compareTo()-metoden på left_value, med right_value som argument.
  2. Gem resultatet i variablen comparingResult.
  3. Brug en switch-sætning til at behandle dette resultat:
    • Hvis resultatet er -1, tildel "The right value is greater" til variablen result.
    • Hvis resultatet er 0, tildel "The values are equal" til variablen result.
    • Hvis resultatet er 1, tildel "The left value is greater" til variablen result.
  4. Hvis resultatet af en eller anden grund ikke matcher nogen af disse værdier, udskriv "Error".
  5. Returnér variablen result fra metoden.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 1
single

single

some-alt