Lær Java-programmering: Hvordan bruke lister, tråder og co.
I den siste artikkelen i Java-serien vår, forklarer vi hvordan du kan håndtere tråder, lister, unntak og filer på Java på riktig måte.
Java: hva er unntak?
Hvis du ennå ikke har jobbet med Java, kan du lese "Grunnleggende" her først. Ulike eksempelskoder finner du i bildegalleriet på slutten av artikkelen.
- Et unntak er et problem som oppstår mens programmet kjører.
- Det er en spesiell kode for å håndtere en slik kommando. For å gjøre dette, skriv først "prøv {" og deretter koden som skal utføres. Skriv deretter "} fangst (unntak e) {" og deretter forskjellige kommandoer som skal utføres hvis forrige operasjon ikke er mulig. Ikke glem å legge en stag på slutten.
- En kastkommando er også veldig praktisk. Et eksempel på dette er koden »int div (int a, int b) kaster« ⮩ »ArithmeticException {« ⮩ »if (b == 0) {« ⮩ »kaster ny ArithmeticException (" Division by 0! ");« ⮩ »} Ellers {« ⮩ »return a / b;« ⮩ »}« ⮩ »}«. Kasterklæringen i metoden definerer hvilken unntakstype metoden kan få. Kastnøkkelordet avgjør hva som skal skje med dette unntaket.
- Praktisk: En enkelt prøveblokk kan inneholde flere fangstblokker.
Bruk tråder i Java
Tråder lar deg kjøre forskjellige kommandoer i Java samtidig. Det er to forskjellige måter å lage en tråd på.
- På den ene siden kan en viss klasse arve fra klassen "Tråd". For eksempel skriver du først "class Loader extends Thread {". Deretter må du definere en metode med "public void run () {" som beskriver funksjonene til tråden. I en annen klasse kan du nå bruke "Loader obj = new Loader ();" -kommandoen for å bruke metoden "obj.start ();" for å starte tråden.
- Alternativt kan du implementere "Runnable" -grensesnittet i en klasse. Du kan gjøre dette med kommandoen "class Loader implements Runnable {". Definer en kjøremetode igjen. Nå kan du starte tråden i en annen klasse med koden "Tråd t = ny tråd (ny Loader ());" ⮩ "t.start ();"
- Tips: Du kan bruke kommandoen "Thread.sleep (1000);" for å la tråden hvile et sekund. Merk imidlertid at denne kommandoen genererer en InterruptException.
Lag lister i Java
Det er to forskjellige typer lister i Java: "ArrayList" og "LinkedList".
- Typisk kan matriser i Java bare lagre et visst antall objekter. Imidlertid er det en funksjon som heter "ArrayList" i Java API. Skriv først "import java.util.ArrayList;" for å importere den nødvendige pakken. Nå kan du bruke ArrayList colours = new ArrayList (); kommandoen til å opprette en ny liste. Eventuelt kan du bruke ArrayList colours = new ArrayList (10); kommando for å lage en liste som spesifiserer datatype og størrelse på forhånd.
- Nå kan du legge til noe i listen med kommandoen »colors.add (" ... ");«. Med »farger. Fjern (" ... ");« kan denne prosessen reverseres. Du kan også bruke »colours.concepts (...);« for å spørre om listen inneholder et bestemt element eller bruke »colours.get (int x);« -kommandoen for å få en verdi med en viss indeks. Til slutt kan du bruke »colors.size ();« for å spørre om antall elementer i listen og bruke »colors.clear ();« for å slette alle elementene i listen.
- Alternativt er det også "LinkedList", som du kan importere med kommandoen »import java.util.LinkedList;«. Kommandoene er de samme her; Du må imidlertid skrive "LinkedList" hver gang i stedet for "ArrayList". En ArrayList er mer egnet for lagring av objekter som du kan få tilgang til senere. Du bør bruke en LinkedList hvis du vil endre data.
Java: Bruk HashMap
I listene over har hvert objekt en (heltall) indeks. HashMap brukes til å lagre data med et par verdier som består av "Key" og "Object".
- Du importerer HashMap med kommandoen »import java.util.HashMap;«. I likhet med listene kan du nå opprette en HashMap med kommandoen »HashMap points = new HashMap ();«.
- Neste, for eksempel, kan du legge til kommandoen »points.put (" Amy ", 154);«. Kommandoen »System.out.println (" points.get ("Amy")); «leverer nå verdien 154. Igjen, kan du bruke fjernmetoder for å fjerne den.
- En HashMap kan ikke inneholde objekter med to identiske nøkler. Et objekt vil ganske enkelt bli overskrevet. Metoden "containKey" og "containValue" er veldig praktiske og kan brukes til å sjekke om det finnes et objekt eller en nøkkel i HashMap.
- Det finnes også såkalte "hasjsett". Et sett er en samling verdier, der to identiske verdier aldri kan eksistere. Importen java.util.HashSet; -kommandoen brukes til å importere. For eksempel kan du opprette et nytt sett med kommandoen »HashSet set = new HashSet ();«. Nå kan du legge til elementer til dette HashSet med kommandoen »set.add (" ... ");«. Kommandoen »System.out.println (sett);« sender til slutt ut alle kommandoene til settet.
- Vanligvis opprettholdes ikke rekkefølgen på elementene i et hasjsett konsekvent. Imidlertid, hvis du vil, kan du bruke et "LinkedHashSet".
- Forresten: En hasjetabell lagrer informasjon gjennom en mekanisme som heter "hashing", der hver verdi av en nøkkel brukes til å bestemme en unik verdi som kalles "hasjkode". Enkelt sagt betyr dette at hvert element i et hasjsett er knyttet til en hasjkode.
Sorter lister og bruk iteratorer
For å jobbe med lister enda mer effektivt, kan du sortere dem og bruke iteratorer.
- Java API inkluderer også samlingsklassen. En av de mest praktiske metodene her er sorteringsmetoden. Alle metoder for samlingsklassen er statiske metoder, så de trenger ikke å bli deklarert igjen. Hvis du for eksempel opprettet en ArrayList som heter "dyr", kan du bestille verdiene ved å bruke kommandoen Collections.sort (animal); Du kan importere samlingsklassen med kommandoen »import java.util.Collections;«.
- En iterator er et objekt som sirkulerer gjennom en samling og mottar og kan slette verdier. Du importerer den nødvendige pakken med kommandoen »import java.util.iterator;«. I dette tilfellet har vi allerede opprettet en LinkedList kalt "dyr". Du kan nå definere iteratoren med kommandoen »Iterator it = animal.iterator ();«. Hvis du nå kjører kommandoen »System.out.println (it.next ());«, blir det første elementet i LinkedList ut. Hvis du utfører kommandoen igjen, beveger iteratoren seg et skritt lenger og sender ut det andre elementet. Også her kan du fjerne elementer med en fjernmetode. Det finnes også hasNext-metoden, som du kan bruke til å sjekke om et annet element eksisterer.
Java: opprette og bruke filer
Du kan enkelt lage og bruke dine egne filer i Java.
- For å gjøre dette, må du først importere den nødvendige pakken ved å bruke kommandoen "import java.io.File;". Definer deretter en fil med en passende bane ved å bruke kommandoen »File file = new File (" C: \\ data \\ input-file.txt ");«. Med »if (x.exists ()) {« kan du sjekk om filen eksisterer. Du får navnet på filen med "x.getName ()".
- I neste trinn kan du opprette en ny skanner med kommandoen »Scanner sc = new Scanner (x);«. Igjen kan du bruke kommandoer som "sc.next ()" eller "sc.hasNext ()" for å lese dataene fra en fil. Det fungerer veldig bra i en stundsløyfe. Ikke glem å lukke filen med "sc.close ();" på slutten.
- For å kunne skrive til filer, må du først legge til kommandoen "import java.util.Formatter;" i koden. Kommandoen »Formatter f = new Formatter (" C: \\ CHIP \\ test.txt ");« oppretter nå en fil med navnet "test.txt" på den angitte banen.
- For å kunne skrive til filen kan du bruke kommandoen »f.format ("% s% s% s, "1", "Max", "Mustermann \ r \ n"); «. % s "for en streng som erstattes av den første parameteren, den andre"% s "av den andre parameteren osv. Programmet hopper til neste linje ved å trykke" \ r \ n ".
Det er her vår opplæringsserie om programmeringsspråket Java slutter. I det neste praktiske tipset vil vi gi deg en introduksjon til programmering med Python.