Java - La classe LinkedHashMap
Cette classe étend HashMap et gère une liste chaînée des entrées de la carte, dans l'ordre dans lequel elles ont été insérées. Cela permet une itération de l'ordre d'insertion sur la carte. Autrement dit, lors de l'itération d'un LinkedHashMap, les éléments seront retournés dans l'ordre dans lequel ils ont été insérés.
Vous pouvez également créer un LinkedHashMap qui renvoie ses éléments dans l'ordre dans lequel ils ont été accédés pour la dernière fois.
Voici la liste des constructeurs pris en charge par la classe LinkedHashMap.
N ° Sr. | Constructeur et description |
---|---|
1 | LinkedHashMap( ) Ce constructeur construit un LinkedHashMap par défaut. |
2 | LinkedHashMap(Map m) Ce constructeur initialise LinkedHashMap avec les éléments de la classe Map donnée m. |
3 | LinkedHashMap(int capacity) Ce constructeur initialise un LinkedHashMap avec la capacité donnée. |
4 | LinkedHashMap(int capacity, float fillRatio) Ce constructeur initialise à la fois la capacité et le taux de remplissage. La signification de la capacité et du taux de remplissage est la même que pour HashMap. |
5 | LinkedHashMap(int capacity, float fillRatio, boolean Order) Ce constructeur vous permet de spécifier si les éléments seront stockés dans la liste chaînée par ordre d'insertion, ou par ordre de dernier accès. Si Order est vrai, alors l'ordre d'accès est utilisé. Si Order est faux, l'ordre d'insertion est utilisé. |
Outre les méthodes héritées de ses classes parentes, LinkedHashMap définit les méthodes suivantes -
N ° Sr. | Méthode et description |
---|---|
1 | void clear() Supprime tous les mappages de cette carte. |
2 | boolean containsKey(Object key) Renvoie true si cette carte mappe une ou plusieurs clés à la valeur spécifiée. |
3 | Object get(Object key) Renvoie la valeur à laquelle cette carte mappe la clé spécifiée. |
4 | protected boolean removeEldestEntry(Map.Entry eldest) Renvoie true si cette carte doit supprimer son entrée la plus ancienne. |
Exemple
Le programme suivant illustre plusieurs des méthodes prises en charge par cette collection -
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"));
}
}
Cela produira le résultat suivant -
Production
Zara: 3434.34
Mahnaz: 123.22
Ayan: 1378.0
Daisy: 99.22
Qadir: -19.08
Zara's new balance: 4434.34