Sobes.tech
Junior
389

Wat is het verschil tussen List en Set in Java?

Antwoord van AI

sobes.tech AI

Belangrijkste verschillen:

  1. Volgorde van elementen:
    • List behoudt de volgorde waarin elementen worden toegevoegd.
    • Set garandeert de volgorde niet (afhankelijk van de specifieke implementatie, bijvoorbeeld LinkedHashSet behoudt de invoer volgorde).
  2. Duplicaten:
    • List staat duplicaten toe.
    • Set bevat alleen unieke elementen.
  3. Toegang tot elementen:
    • List biedt toegang tot elementen via index.
    • Set biedt geen directe toegang tot elementen via index, toegang gebeurt via iterator of loop.
  4. Prestaties:
    • Zoek- en toevoegbewerkingen in List met veel elementen kunnen trager zijn dan in Set (bijvoorbeeld in HashSet).
    • Toevoeg- en verwijderbewerkingen in Set (bijvoorbeeld HashSet) hebben meestal een gemiddelde constante tijdcomplexiteit.

Voorbeeld:

// Lijst die duplicaten toestaat en de volgorde behoudt
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Apple");
System.out.println(list); // Output: [Apple, Banana, Apple]

// Set dat alleen unieke elementen bevat
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Apple");
System.out.println(set); // Output: [Apple, Banana] (de volgorde kan variëren)

Vergelijkingstabel:

Aspect List Set
Volgorde Behouden Niet gegarandeerd (afhankelijk van de implementatie)
Duplicaten Toegestaan Niet toegestaan
Toegang via index Ja Nee
Interface java.util.List java.util.Set
Typisch gebruik Geordende collecties, lijsten Unieke collecties, verzamelingen