Lær Java-programmering: Sådan bruges lister, tråde og co.
I den sidste artikel i vores Java-serie forklarer vi, hvordan man korrekt håndterer tråde, lister, undtagelser og filer i Java.
Java: hvad er undtagelser?
Hvis du endnu ikke har arbejdet med Java, kan du læse vores "Grundlæggende" her først. Forskellige prøvekoder kan findes i billedgalleriet i slutningen af artiklen.
- En undtagelse er et problem, der opstår, mens programmet kører.
- Der er en speciel kode til at håndtere en sådan kommando. For at gøre dette skal du først skrive "prøv {" og derefter koden, der skal udføres. Skriv derefter "} fangst (undtagelse e) {" og derefter forskellige kommandoer, der skal udføres, hvis den forrige operation ikke er mulig. Glem ikke at tilføje en søjle i slutningen.
- En kastkommando er også meget praktisk. Et eksempel på dette er koden »int div (int a, int b) kaster« ⮩ »ArithmeticException {« ⮩ »if (b == 0) {« ⮩ »kaster nye ArithmeticException (" Division by 0! ");« ⮩ »} Ellers {« ⮩ »returnerer a / b;« ⮩ »}« ⮩ »}«. Kastangivelsen i metoden definerer hvilken undtagelsestype metoden kan få. Kastnøgleordet bestemmer, hvad der skal ske med denne undtagelse.
- Praktisk: En enkelt prøveblok kan indeholde flere fangstblokke.
Brug tråde i Java
Tråde giver dig mulighed for at køre forskellige kommandoer i Java på samme tid. Der er to forskellige måder at oprette en tråd på.
- På den ene side kan en bestemt klasse arve fra klassen "tråd". For eksempel skal du først skrive "klasse Loader udvider tråd {". Derefter skal du definere en metode med "public void run () {", der beskriver trådens funktioner. I en anden klasse kan du nu bruge kommandoen "Loader obj = new Loader ();" til at bruge metoden "obj.start ();" til at starte tråden.
- Alternativt kan du implementere "Runnable" -grænsefladen i en klasse. Du kan gøre dette med kommandoen "klasse Loader implementerer Runnable {". Definer en køremetode igen. Nu kan du starte tråden i en anden klasse med koden "Tråd t = ny tråd (ny Loader ());" ⮩ "t.start ();"
- Tip: Du kan bruge kommandoen "Thread.sleep (1000);" til at lade tråden hvile et øjeblik. Bemærk dog, at denne kommando genererer en InterruptException.
Opret lister i Java
Der er to forskellige typer lister i Java: "ArrayList" og "LinkedList".
- Arrays i Java kan typisk kun gemme et vist antal objekter. Der er dog en funktion kaldet "ArrayList" i Java API. Skriv først "import java.util.ArrayList;" for at importere den krævede pakke. Nu kan du bruge ArrayList colours = new ArrayList (); kommandoen til at oprette en ny liste. Valgfrit kan du bruge ArrayList-farverne = ny ArrayList (10); kommando til at oprette en liste, der specificerer datatype og størrelse på forhånd.
- Nu kan du tilføje noget til listen med kommandoen »colors.add (" ... ");«. Med »farver. Fjern (" ... ");« kan denne proces vendes. Du kan også bruge »colours.concepts (...);« til at spørge, om listen indeholder et bestemt element, eller bruge »colours.get (int x);« kommandoen for at få en værdi med et bestemt indeks. Endelig kan du bruge »colours.size ();« til at forespørge antallet af elementer på listen og bruge »colours.clear ();« til at slette alle elementer på listen.
- Alternativt er der også "LinkedList", som du kan importere med kommandoen »import java.util.LinkedList;«. Kommandoerne er de samme her; dog skal du skrive "LinkedList" hver gang i stedet for "ArrayList". En ArrayList er mere velegnet til opbevaring af objekter, der kan fås adgang til senere. Du skal bruge en LinkedList, hvis du vil ændre data.
Java: Brug HashMap
I ovenstående lister har hvert objekt et (heltal) indeks. HashMap bruges til at gemme data med et par værdier, der består af "Key" og "Object".
- Du importerer HashMap med kommandoen »import java.util.HashMap;«. Ligesom listerne kan du nu oprette en HashMap med kommandoen »HashMap points = new HashMap ();«.
- Dernæst kan du f.eks. Tilføje kommandoen »points.put (" Amy ", 154);«. Kommandoen »System.out.println (" points.get ("Amy")); «udsender nu værdien 154. Igen kan du bruge fjerne metoder til at fjerne den.
- En HashMap kan ikke indeholde objekter med to identiske nøgler. Et objekt ville simpelthen blive overskrevet. Metoderne "containKey" og "containValue" er meget praktiske og kan bruges til at kontrollere, om der findes et objekt eller en nøgle i HashMap.
- Der er også såkaldte "hash-sæt". Et sæt er en samling af værdier, hvorved to identiske værdier aldrig kan eksistere. Importen java.util.HashSet; bruges til at importere. For eksempel kan du oprette et nyt sæt med kommandoen »HashSet-sæt = nyt HashSet ();«. Nu kan du tilføje elementer til dette HashSet med kommandoen »set.add (" ... ");«. Kommandoen »System.out.println (sæt);« sender endelig alle kommandoer i sættet.
- Normalt opretholdes rækkefølgen af elementerne i et hash-sæt ikke konsekvent. Hvis du imidlertid vil, kan du bruge et "LinkedHashSet".
- Forresten: En hash-tabel gemmer information gennem en mekanisme kaldet "hashing", hvor hver værdi af en nøgle bruges til at bestemme en unik værdi kaldet "hash-kode". Kort sagt betyder det, at hvert element i et hash-sæt er knyttet til en hash-kode.
Sorter lister og brug iteratorer
For at arbejde endnu mere effektivt med lister kan du sortere dem og bruge iteratorer.
- Java API inkluderer også samlingsklassen. En af de mest praktiske metoder her er sorteringsmetoden. Alle metoder i samlingsklassen er statiske metoder, så de behøver ikke at blive erklæret igen. Hvis du f.eks. Oprettede en ArrayList med navnet "dyr", kan du bestille dens værdier ved hjælp af kommandoen Collections.sort (animal); Du kan importere samlingsklassen med kommandoen »import java.util.Collections;«.
- En iterator er et objekt, der cirkulerer gennem en samling og modtager og kan slette værdier. Du importerer den påkrævede pakke med kommandoen »import java.util.iterator;«. I dette tilfælde har vi allerede oprettet en LinkedList kaldet "dyr". Du kan nu definere iteratoren med kommandoen »Iterator it = animal.iterator ();«. Hvis du nu udfører kommandoen »System.out.println (it.next ());«, udsendes det første element i LinkedList. Hvis du udfører kommandoen igen, bevæger iteratoren sig et skridt videre og udsender det andet element. Også her kan du fjerne elementer med en fjernelsesmetode. Der er også hasNext-metoden, som du kan bruge til at kontrollere, om der findes et andet element.
Java: oprette og bruge filer
Du kan nemt oprette og bruge dine egne filer i Java.
- For at gøre dette skal du først importere den krævede pakke vha. Kommandoen "import java.io.File;". Definér derefter en fil med en passende sti ved hjælp af kommandoen »File file = new File (" C: \\ data \\ input-file.txt ");«. Med »if (x.exists ()) {« kan du kontroller, om filen findes. Du får navnet på filen med "x.getName ()".
- I det næste trin kan du oprette en ny scanner med kommandoen »Scanner sc = ny Scanner (x);«. Igen kan du bruge kommandoer som "sc.next ()" eller "sc.hasNext ()" til at læse dataene fra en fil. Det fungerer meget godt i et stykke tid loop. Glem ikke at lukke filen med "sc.close ();" i slutningen.
- For at kunne skrive til filer skal du først tilføje kommandoen "import java.util.Formatter;" til din kode. Kommandoen »Formatter f = ny formater (" C: \\ CHIP \\ test.txt ");« opretter nu en fil med navnet "test.txt" på den specificerede sti.
- For at kunne skrive til filen kan du bruge kommandoen »f.format ("% s% s% s, "1", "Max", "Mustermann \ r \ n"); «. % s "for en streng, der erstattes af den første parameter, den anden"% s "med den anden parameter osv. Programmet springer til næste linje ved at trykke på" \ r \ n ".
Det er her vores tutorial-serie om Java-programmeringssprog slutter. I det næste praktiske tip giver vi dig en introduktion til programmering med Python.