Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduksjon til datastrukturer | Seksjon
Grunnleggende Datastrukturer i Java
Seksjon 1. Kapittel 1
single

single

Introduksjon til datastrukturer

Sveip for å vise menyen

Hva er samlinger, og hvorfor er de nødvendige?

Samlinger i Java er en av de datastrukturene som brukes svært ofte. En datastruktur er en måte å lagre ulike datatyper på.

Enkelt sagt er en samling en liste med data eller variabler av en bestemt type.
Mens arrayer er statisk, det vil si at de har en fast størrelse som defineres under initialisering, kan samlinger betraktes som dynamiske arrayer. De utvides etter hvert som elementer legges til. Når du legger til et element i listen, øker størrelsen på listen slik at den kan romme alle elementene.

Samlinger kan hjelpe oss å forstå hvordan en database fungerer fordi vi også kan lagre store mengder data med samlinger. I samlinger kan vi lagre objekter fra ulike klasser. Vi kan til og med lagre arrayer i samlinger, noe som er en svært praktisk måte å lagre store datamengder på.

Wrappers

For å begynne å arbeide med samlinger, er det viktig å merke seg at samlinger ikke kan operere med primitive datatyper. De fungerer spesifikt med objekter. For å lagre et enkelt tall eller en bokstav, må vi bruke en wrapper-klasse for den primitive datatypen.

Primitive datatyper (som int, char, float, boolean og andre) er ikke objekter, og det kan noen ganger være behov for å behandle dem som objekter, for eksempel i samlinger eller når man bruker klasser som forventer objekter. Wrapper-klasser tilbyr et objektorientert omslag for hver primitive type.

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

Disse klassene tilbyr metoder for å konvertere mellom primitive typer og objekter, samt ulike funksjoner for å arbeide med verdier, som sammenligning, aritmetiske operasjoner og mer.

La oss se på noen eksempler på bruk av wrapper-klasser:

Main.java

Main.java

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 opprettet vi et objekt av Integer-klassen og initialiserte det med et vanlig tall. Dette er et eksempel på autoboxing. Deretter opprettet vi en primitiv int og tildelte den verdien til wrapperen, noe som kalles unboxing.

Ut fra dette kan vi forstå at autoboxing er automatisk konvertering av en primitiv datatypen til et objekt av wrapper-klassen. På den andre siden er unboxing automatisk konvertering av et objekt av wrapper-klassen tilbake til en primitiv datatypen.

Du kan også se hvordan vi brukte sammenligningsmetoden, som returnerer 0 hvis verdiene er like, 1 hvis venstre verdi er større enn høyre, og -1 hvis venstre verdi er mindre enn høyre.

Wrapper-klasser tilbyr mange nyttige metoder. Du vil ikke dekke alle nå, men du kan utforske dem i ditt IDE.

Oppgave

Sveip for å begynne å kode

Fullfør upgrade_comparing-metoden slik at den bruker compareTo()-metoden og returnerer en beskrivende melding avhengig av sammenligningsresultatet.

  1. Kall compareTo()-metoden på left_value, med right_value som argument.
  2. Lagre resultatet i variabelen comparingResult.
  3. Bruk en switch-setning for å behandle denne verdien:
    • Hvis resultatet er -1, tildel "The right value is greater" til variabelen result.
    • Hvis resultatet er 0, tildel "The values are equal" til variabelen result.
    • Hvis resultatet er 1, tildel "The left value is greater" til variabelen result.
  4. Hvis resultatet av en eller annen grunn ikke samsvarer med noen av disse verdiene, skriv ut "Error".
  5. Returner variabelen result fra metoden.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt