LinkedHashMap 是Map接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与HashMap的不同之处在于它维护了一个贯穿其所有条目的双向链表。此链表定义迭代排序,通常是键插入映射的顺序(插入顺序)。在最后几篇教程中,我们讨论了HashMap和TreeMap。这个类与它们不同:
HashMap没有维持任何顺序。TreeMap按键的升序对条目进行排序。LinkedHashMap保持插入顺序。让我们借助一个例子来理解LinkedHashMap:
import java.util.LinkedHashMap;import java.util.Set;import java.util.Iterator;import java.util.Map;public class LinkedHashMapDemo { public static void main(String args[]) { // HashMap Declaration LinkedHashMap<Integer, String> lhmap = new LinkedHashMap<Integer, String>(); //Adding elements to LinkedHashMap lhmap.put(22, "Abey"); lhmap.put(33, "Dawn"); lhmap.put(1, "Sherry"); lhmap.put(2, "Karon"); lhmap.put(100, "Jim"); // Generating a Set of entries Set set = lhmap.entrySet(); // Displaying elements of LinkedHashMap Iterator iterator = set.iterator(); while(iterator.hasNext()) { Map.Entry me = (Map.Entry)iterator.next(); System.out.print("Key is: "+ me.getKey() + "& Value is: "+me.getValue()+"\n"); } }}
输出:
Key is: 22& Value is: AbeyKey is: 33& Value is: DawnKey is: 1& Value is: SherryKey is: 2& Value is: KaronKey is: 100& Value is: Jim
如您所见,值的返回顺序与插入的顺序相同。
