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
1234567891011package 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.
Sveip for å begynne å kode
Fullfør upgrade_comparing-metoden slik at den bruker compareTo()-metoden og returnerer en beskrivende melding avhengig av sammenligningsresultatet.
- Kall
compareTo()-metoden påleft_value, medright_valuesom argument. - Lagre resultatet i variabelen
comparingResult. - Bruk en
switch-setning for å behandle denne verdien:- Hvis resultatet er
-1, tildel"The right value is greater"til variabelenresult. - Hvis resultatet er
0, tildel"The values are equal"til variabelenresult. - Hvis resultatet er
1, tildel"The left value is greater"til variabelenresult.
- Hvis resultatet er
- Hvis resultatet av en eller annen grunn ikke samsvarer med noen av disse verdiene, skriv ut
"Error". - Returner variabelen
resultfra metoden.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår