Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java List Interface: overzicht, implementaties en kernmethoden

Java List Interface

Verken de Java List interface – haar doel, veelvoorkomende implementaties, essentiële methoden, en hoe het verschilt van Set.

In Java vertegenwoordigt de List interface een geordende, index-gebaseerde collectie die duplicaten en random access ondersteunt. Het extends Collection en is onderdeel van het Collections Framework.

Kernimplementaties van List

Omdat List een interface is, instantieer je concrete klassen om zijn functionaliteit te gebruiken:

  • ArrayList – backed by een dynamische array, biedt snelle random access.
  • LinkedList – geïmplementeerd als een dubbel gelinkte lijst, uitstekend in inserties/deleties.
  • Vector – legacy gesynchroniseerde lijst, zelden gebruikt in moderne code.
  • Stack – een subklasse van Vector die LIFO semantiek volgt.

Java List Interface: overzicht, implementaties en kernmethoden

Deze klassen zijn gedefinieerd binnen het java.util pakket.

List in code gebruiken

Eerst importeer java.util.List (en de concrete klasse die je wilt gebruiken).

// ArrayList implementatie List arrayList = new ArrayList<>(); // LinkedList implementatie List linkedList = new LinkedList<>(); 

De variabelen arrayList en linkedList blootleggen nu alle List methoden.

Essentiële List methoden

Alle hieronder genoemde methoden zijn geërfd van Collection en beschikbaar op elke List implementatie.

  • add(E e) – voeg een element toe aan het einde.
  • addAll(Collection c) – bulk toevoeging.
  • get(int index) – haal op via index.
  • iterator() – sequentiële traversal.
  • set(int index, E element) – vervang element.
  • remove(Object o) – verwijder op waarde.
  • removeAll(Collection c) – bulk verwijdering.
  • clear() – maak de lijst leeg.
  • size() – aantal elementen.
  • toArray() – converteer naar array.
  • contains(Object o) – test lidmaatschap.

ArrayList in de praktijk

import java.util.List; import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { List getallen = new ArrayList<>(); getallen.add(1); getallen.add(2); getallen.add(3); System.out.println("Lijst: " + getallen); int derde = getallen.get(2); System.out.println("Benaderd element: " + derde); int verwijderd = getallen.remove(1); System.out.println("Verwijderd element: " + verwijderd); } } 

Uitvoer

Lijst: [1, 2, 3] Benaderd element: 3 Verwijderd element: 2

Voor dieper inzicht in ArrayList, raadpleeg de officiële Oracle documentatie.

LinkedList in de praktijk

import java.util.List; import java.util.LinkedList; public class LinkedListDemo { public static void main(String[] args) { List getallen = new LinkedList<>(); getallen.add(1); getallen.add(2); getallen.add(3); System.out.println("Lijst: " + getallen); int derde = getallen.get(2); System.out.println("Benaderd element: " + derde); int index = getallen.indexOf(2); System.out.println("Positie van 2 is " + index); int verwijderd = getallen.remove(1); System.out.println("Verwijderd element: " + verwijderd); } } 

Uitvoer

Lijst: [1, 2, 3] Benaderd element: 3 Positie van 2 is 1 Verwijderd element: 2

Meer details over LinkedList zijn beschikbaar in de Java Tutorials.

List vs. Set

Beide interfaces extend Collection maar verschillen in kernaspecten:

  • Lijsten behouden invoegvolgorde en toestaan duplicaten.
  • Sets dwingen uniekheid af en hebben doorgaans geen gedefinieerde volgorde (tenzij een SortedSet gebruikt wordt).

De keuze tussen hen hangt af van of volgorde en duplicaten van belang zijn voor jouw use case.

Verken concrete implementaties in aankomende tutorials.

Java

  1. Java-operators beheersen: typen, syntax en praktische voorbeelden
  2. Java-commentaar: typen, gebruik en best practices
  3. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  4. Java Strings beheersen: aanmaken, methodes en best practices
  5. Java interfaces meesteren: concepten, implementatie en best practices
  6. Java Try-with-resources meesteren: automatische resource management uitgelegd
  7. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  8. Java Collection-algoritmes: Sorteren, shuffelen en meer
  9. Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
  10. Willekeurige Getallen Genereren in Java: Praktische Gids met Random en Math.random
  11. Java 10: 70+ nieuwe API's & features uitgelegd