Java: la classe LinkedHashMap

Questa classe estende HashMap e mantiene un elenco collegato delle voci nella mappa, nell'ordine in cui sono state inserite. Ciò consente l'iterazione dell'ordine di inserzione sulla mappa. Cioè, quando si itera una LinkedHashMap, gli elementi verranno restituiti nell'ordine in cui sono stati inseriti.

Puoi anche creare una LinkedHashMap che restituisca i suoi elementi nell'ordine in cui sono stati aperti l'ultima volta.

Di seguito è riportato l'elenco dei costruttori supportati dalla classe LinkedHashMap.

Sr.No. Costruttore e descrizione
1

LinkedHashMap( )

Questo costruttore costruisce una LinkedHashMap predefinita.

2

LinkedHashMap(Map m)

Questo costruttore inizializza LinkedHashMap con gli elementi della classe Map data m.

3

LinkedHashMap(int capacity)

Questo costruttore inizializza una LinkedHashMap con la capacità data.

4

LinkedHashMap(int capacity, float fillRatio)

Questo costruttore inizializza sia la capacità che il rapporto di riempimento. Il significato di capacità e rapporto di riempimento è lo stesso di HashMap.

5

LinkedHashMap(int capacity, float fillRatio, boolean Order)

Questo costruttore consente di specificare se gli elementi verranno memorizzati nell'elenco collegato per ordine di inserzione o per ordine di ultimo accesso. Se Order è true, viene utilizzato l'ordine di accesso. Se Order è false, viene utilizzato l'ordine di inserzione.

Oltre ai metodi ereditati dalle sue classi padre, LinkedHashMap definisce i seguenti metodi:

Sr.No. Metodo e descrizione
1

void clear()

Rimuove tutte le mappature da questa mappa.

2

boolean containsKey(Object key)

Restituisce vero se questa mappa mappa una o più chiavi sul valore specificato.

3

Object get(Object key)

Restituisce il valore a cui questa mappa mappa la chiave specificata.

4

protected boolean removeEldestEntry(Map.Entry eldest)

Restituisce vero se questa mappa deve rimuovere la sua voce più vecchia.

Esempio

Il seguente programma illustra molti dei metodi supportati da questa raccolta:

import java.util.*;
public class LinkedHashMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      LinkedHashMap lhm = new LinkedHashMap();
      
      // Put elements to the map
      lhm.put("Zara", new Double(3434.34));
      lhm.put("Mahnaz", new Double(123.22));
      lhm.put("Ayan", new Double(1378.00));
      lhm.put("Daisy", new Double(99.22));
      lhm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = lhm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
      
      // Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      // Deposit 1000 into Zara's account
      double balance = ((Double)lhm.get("Zara")).doubleValue();
      lhm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + lhm.get("Zara"));
   }
}

Questo produrrà il seguente risultato:

Produzione

Zara: 3434.34
Mahnaz: 123.22
Ayan: 1378.0
Daisy: 99.22
Qadir: -19.08

Zara's new balance: 4434.34