Java - LinkedHashMap类 Java - WeakHashMap类 Java - IdentityHashMap类 Java - LinkedHashMap类 此类扩展HashMap并按照插入顺序维护映射中条目的链接列表。这允许在地图上进行插入顺序迭代。也就是说,在迭代LinkedHashMap时,元素将按插入顺序返回。 您还可以创建一个LinkedHashMap,它按照上次访问的顺序返回其元素。 以下是LinkedHashMap类支持的构造函数列表。 Sr.No. 构造函数和描述 1 LinkedHashMap() 此构造函数构造默认的LinkedHashMap。 2 LinkedHashMap(Map m) 此构造函数使用给定Map类m中的元素初始化LinkedHashMap 。 3 LinkedHashMap(int capacity) 此构造函数初始化具有给定容量的LinkedHashMap。 4 LinkedHashMap(int capacity,float fillRatio) 此构造函数初始化容量和填充率。容量和填充率的含义与HashMap相同。 5 LinkedHashMap(int capacity,float fillRatio,boolean Order) 此构造函数允许您指定元素是按插入顺序存储在链接列表中,还是按上次访问顺序存储。如果Order为true,则使用访问顺序。如果Order为false,则使用插入顺序。 除了从其父类继承的方法之外,LinkedHashMap还定义了以下方法 - Sr.No. 方法和描述 1 void clear() 从此映射中删除所有映射。 2 boolean containsKey(Object key) 如果此映射将一个或多个键映射到指定值,则返回true。 3 Object get(Object key) 返回此映射将指定键映射到的值。 4 protected boolean removeEldestEntry(Map.Entry eldest) 如果此映射应删除其最旧条目,则返回true。 实例 以下程序说明了此集合支持的几种方法 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")); } } 这将产生以下结果 - 产量 Zara: 3434.34 Mahnaz: 123.22 Ayan: 1378.0 Daisy: 99.22 Qadir: -19.08 Zara's new balance: 4434.34 Java - WeakHashMap类 Java - IdentityHashMap类