Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Introduktion till Datastrukturer | Grundläggande Datastrukturer i Java
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Datastrukturer

bookIntroduktion till Datastrukturer

Välkommen till Java Datastrukturer! Denna kurs är utformad för Javautvecklare som vill fördjupa sin förståelse för datastrukturer och öka sin kodningseffektivitet.

Denna kurs är inte för nybörjare. Om du inte har slutfört våra tre tidigare Javakurser kan du uppleva den som utmanande.

För att få ut det mesta av denna kurs rekommenderar vi starkt att du slutför dem först innan du påbörjar Java Datastrukturer.

Vad är samlingar och varför behövs de?

Samlingar i Java är en av de datastrukturer som används mycket frekvent. En datastruktur är i sin tur ett sätt att lagra olika datatyper.

Enkelt uttryckt är en samling en lista av data eller variabler av en specifik typ.
Medan arrayer är statisk, vilket innebär att de har en fast storlek som definieras vid initiering, kan samlingar betraktas som dynamiska arrayer. De utökas när element läggs till. Så när du lägger till ett element i listan, ökar listans storlek tills den kan rymma alla element.

Samlingar kan hjälpa oss att förstå hur en databas fungerar eftersom vi med samlingar också kan lagra stora mängder data. I samlingar kan vi lagra objekt av olika klasser. Vi kan till och med lagra arrayer i samlingar, vilket är ett mycket bekvämt sätt att lagra stora mängder data.

Wrappers

För att börja arbeta med samlingar är det värt att notera att samlingar inte kan hantera primitiva datatyper. De arbetar specifikt med objekt. För att lagra ett enkelt tal eller tecken behöver vi använda en wrapper-klass för den primitiva datatypen.

Primitiva datatyper (såsom int, char, float, boolean och andra) är inte objekt, och ibland finns det behov av att arbeta med dem som objekt, till exempel i samlingar eller när man använder klasser som förväntar sig objekt. Wrapper-klasser erbjuder ett objektorienterat omslag för varje primitiv typ.

Här är en lista över wrapper-klasser för primitiva typer:

Dessa klasser tillhandahåller metoder för konvertering mellan primitiva typer och objekt, samt olika funktioner för att arbeta med värden, såsom jämförelse, aritmetiska operationer och mer.

Låt oss titta på några exempel på användning av 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 ovan skapade vi ett objekt av klassen Integer och initierade det med ett vanligt tal. Detta är ett exempel på autoboxing. Därefter skapade vi en primitiv int och tilldelade den värdet från omslagsklassen, vilket kallas unboxing.

Härav kan vi förstå att autoboxing är automatisk konvertering av en primitiv datatyp till ett objekt av omslagsklassen. Å andra sidan är unboxing automatisk konvertering av ett objekt av omslagsklassen tillbaka till en primitiv datatyp.

Du kan också se hur vi använde jämförelsemetoden, som returnerar 0 om värdena är lika, 1 om det vänstra värdet är större än det högra, och -1 om det vänstra värdet är mindre än det högra.

Omslagsklasser erbjuder många användbara metoder. Du kommer inte att gå igenom alla nu, men du kan utforska dem i din IDE.

Uppgift

Swipe to start coding

Slutför metoden upgrade_comparing så att den använder metoden compareTo() och returnerar ett beskrivande meddelande beroende på jämförelseresultatet.

  1. Anropa metoden compareTo()left_value och skicka in right_value som argument.
  2. Spara resultatet i variabeln comparingResult.
  3. Använd en switch-sats för att bearbeta detta resultat:
    • Om resultatet är -1, tilldela variabeln result värdet "The right value is greater".
    • Om resultatet är 0, tilldela variabeln result värdet "The values are equal".
    • Om resultatet är 1, tilldela variabeln result värdet "The left value is greater".
  4. Om resultatet av någon anledning inte matchar något av dessa värden, skriv ut "Error".
  5. Returnera variabeln result från metoden.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

bookIntroduktion till Datastrukturer

Svep för att visa menyn

Välkommen till Java Datastrukturer! Denna kurs är utformad för Javautvecklare som vill fördjupa sin förståelse för datastrukturer och öka sin kodningseffektivitet.

Denna kurs är inte för nybörjare. Om du inte har slutfört våra tre tidigare Javakurser kan du uppleva den som utmanande.

För att få ut det mesta av denna kurs rekommenderar vi starkt att du slutför dem först innan du påbörjar Java Datastrukturer.

Vad är samlingar och varför behövs de?

Samlingar i Java är en av de datastrukturer som används mycket frekvent. En datastruktur är i sin tur ett sätt att lagra olika datatyper.

Enkelt uttryckt är en samling en lista av data eller variabler av en specifik typ.
Medan arrayer är statisk, vilket innebär att de har en fast storlek som definieras vid initiering, kan samlingar betraktas som dynamiska arrayer. De utökas när element läggs till. Så när du lägger till ett element i listan, ökar listans storlek tills den kan rymma alla element.

Samlingar kan hjälpa oss att förstå hur en databas fungerar eftersom vi med samlingar också kan lagra stora mängder data. I samlingar kan vi lagra objekt av olika klasser. Vi kan till och med lagra arrayer i samlingar, vilket är ett mycket bekvämt sätt att lagra stora mängder data.

Wrappers

För att börja arbeta med samlingar är det värt att notera att samlingar inte kan hantera primitiva datatyper. De arbetar specifikt med objekt. För att lagra ett enkelt tal eller tecken behöver vi använda en wrapper-klass för den primitiva datatypen.

Primitiva datatyper (såsom int, char, float, boolean och andra) är inte objekt, och ibland finns det behov av att arbeta med dem som objekt, till exempel i samlingar eller när man använder klasser som förväntar sig objekt. Wrapper-klasser erbjuder ett objektorienterat omslag för varje primitiv typ.

Här är en lista över wrapper-klasser för primitiva typer:

Dessa klasser tillhandahåller metoder för konvertering mellan primitiva typer och objekt, samt olika funktioner för att arbeta med värden, såsom jämförelse, aritmetiska operationer och mer.

Låt oss titta på några exempel på användning av 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 ovan skapade vi ett objekt av klassen Integer och initierade det med ett vanligt tal. Detta är ett exempel på autoboxing. Därefter skapade vi en primitiv int och tilldelade den värdet från omslagsklassen, vilket kallas unboxing.

Härav kan vi förstå att autoboxing är automatisk konvertering av en primitiv datatyp till ett objekt av omslagsklassen. Å andra sidan är unboxing automatisk konvertering av ett objekt av omslagsklassen tillbaka till en primitiv datatyp.

Du kan också se hur vi använde jämförelsemetoden, som returnerar 0 om värdena är lika, 1 om det vänstra värdet är större än det högra, och -1 om det vänstra värdet är mindre än det högra.

Omslagsklasser erbjuder många användbara metoder. Du kommer inte att gå igenom alla nu, men du kan utforska dem i din IDE.

Uppgift

Swipe to start coding

Slutför metoden upgrade_comparing så att den använder metoden compareTo() och returnerar ett beskrivande meddelande beroende på jämförelseresultatet.

  1. Anropa metoden compareTo()left_value och skicka in right_value som argument.
  2. Spara resultatet i variabeln comparingResult.
  3. Använd en switch-sats för att bearbeta detta resultat:
    • Om resultatet är -1, tilldela variabeln result värdet "The right value is greater".
    • Om resultatet är 0, tilldela variabeln result värdet "The values are equal".
    • Om resultatet är 1, tilldela variabeln result värdet "The left value is greater".
  4. Om resultatet av någon anledning inte matchar något av dessa värden, skriv ut "Error".
  5. Returnera variabeln result från metoden.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 1
single

single

some-alt