Java LinkedHashMap类扩展HashMap类并按照插入顺序维护映射中条目的链接列表。这允许在映射上进行插入顺序迭代。也就是说,在迭代LinkedHashMap时,元素将按插入顺序返回。
还可以创建一个LinkedHashMap对象,它按照上次访问的顺序返回元素。
以下是LinkedHashMap类支持的构造函数列表。
编号
构造函数
描述
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类还定义了以下方法 -
编号
方法
描述
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.*;
/* 文件 : LinkedHashMapDemo.java */
public class LinkedHashMapDemo {
public static void main(String args[]) {
// Create a hash map
LinkedHashMap lhm = new LinkedHashMap();
// Put elements to the map
lhm.put("Maxsu", new Double(13434.00));
lhm.put("李小双", new Double(1223.29));
lhm.put("张大为", new Double(13178.40));
lhm.put("王利", new Double(9229.72));
lhm.put("刘德思", new Double(-1689.98));
// 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 Maxsu's account
double balance = ((Double)lhm.get("Maxsu")).doubleValue();
lhm.put("Maxsu", new Double(balance + 11000));
System.out.println("Maxsu's new balance: " + lhm.get("Maxsu"));
}
}
执行上面示例代码,得到以下结果 -
Maxsu: 13434.0
李小双: 1223.29
张大为: 13178.4
王利: 9229.72
刘德思: -1689.98
Maxsu's new balance: 24434.0
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。