Java 集合 LinkedHashMap

来源:这里教程网 时间:2026-02-17 20:13:37 作者:

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

如您所见,值的返回顺序与插入的顺序相同。

相关推荐