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 LinkedHashMap beheersen: Aanmaak, operaties en prestatievergelijking

Java LinkedHashMap beheersen: Aanmaak, operaties en prestatievergelijking

Ontdek hoe je Java's LinkedHashMap kunt aanmaken, manipuleren en vergelijken met real-world voorbeelden en best practices.

De LinkedHashMap-klasse in Java's collections framework combineert de snelle lookups van een hash-tabel met een voorspelbare iteratievolgorde, dankzij een interne dubbel gelinkte lijst die invoeg- of toegangsvolgorde behoudt.

Java LinkedHashMap beheersen: Aanmaak, operaties en prestatievergelijking

Een LinkedHashMap aanmaken

Om een LinkedHashMap te gebruiken, importeer java.util.LinkedHashMap en instantieer het. De constructor accepteert initiële capaciteit, load factor en een optionele accessOrder-vlag.

// LinkedHashMap met initiële capaciteit 8 en load factor 0.6 LinkedHashMap<Key, Value> numbers = new LinkedHashMap<>(8, 0.6f);

Parameters:

  • capaciteit – het aantal buckets; standaard is 16.
  • loadFactor – triggert resizing wanneer de tabel 60% vol is; standaard is 0.75.
  • accessOrder – false voor invoegvolgorde, true voor minst-naar-meest recente toegangsvolgorde.

Voorbeeld met standaardinstellingen:

LinkedHashMap<Key, Value> defaultMap = new LinkedHashMap<>();

Een LinkedHashMap aanmaken vanuit bestaande Maps

Kopieer een bestaande map in een LinkedHashMap om volgorde te behouden:

LinkedHashMap<String, Integer> evenNumbers = new LinkedHashMap<>(); evenNumbers.put("Two", 2); evenNumbers.put("Four", 4); LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>(evenNumbers); numbers.put("Three", 3);

Output:

LinkedHashMap1: {Two=2, Four=4} LinkedHashMap2: {Two=2, Four=4, Three=3}

Belangrijkste operaties

Elementen invoegen

  • put(key, value) – voegt of vervangt een mapping.
  • putIfAbsent(key, value) – voegt alleen toe als key ontbreekt.
  • putAll(map) – voegt een andere map samen.
LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>(); numbers.put("One", 1); numbers.putIfAbsent("Two", 2); numbers.putAll(evenNumbers);

Elementen benaderen

Haal keys, values of entries op:

  • entrySet() – alle key/value-paren.
  • keySet() – alle keys.
  • values() – alle values.
  • get(key) – waarde of null als ontbrekend.
  • getOrDefault(key, default) – veilige ophaling met fallback.
int val = numbers.get("Three"); int def = numbers.getOrDefault("Five", 5);

Elementen verwijderen

  • remove(key) – verwijder op key.
  • remove(key, value) – verwijder alleen als waarde matcht.
  • clear() – wis de map.
  • containsKey(key) – existentie-check.
  • containsValue(value) – existentie-check.
  • size() – aantal entries.
  • isEmpty() – leegheidscheck.

LinkedHashMap vs. HashMap

  • LinkedHashMap behoudt invoeg- of toegangsvolgorde; HashMap niet.
  • LinkedHashMap gebruikt extra geheugen voor node-links.
  • LinkedHashMap's iteratie is iets trager maar biedt voorspelbare ordening.

Java

  1. Java-operators beheersen: typen, syntax en praktische voorbeelden
  2. Java-commentaar: typen, gebruik en best practices
  3. Java if…else beheersen: control flow uitgelegd
  4. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  5. Java Strings beheersen: aanmaken, methodes en best practices
  6. Java interfaces meesteren: concepten, implementatie en best practices
  7. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  8. Java Try-with-resources meesteren: automatische resource management uitgelegd
  9. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  10. Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
  11. Java Vector begrijpen: Gebruik, Kenmerken en Vergelijking met ArrayList