📅  最后修改于: 2023-12-03 14:42:15.113000             🧑  作者: Mango
LinkedHashMap类是Java编程语言中的一个类,它扩展了HashMap类并实现了Map接口。LinkedHashMap类提供了与HashMap类相似的功能,但它还维护着元素的顺序,既可以按照插入顺序排序,也可以根据访问顺序排序。在本文中,我们将对Java LinkedHashMap类进行介绍,并阐述其特性和使用方法。
LinkedHashMap类的使用方法几乎与HashMap类相同,但是LinkedHashMap类增加了能够保持元素顺序的功能。我们可以通过以下方式创建一个LinkedHashMap对象:
声明:
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
构造时支持三种排序方式:
public LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
LinkedHashMap<Integer, String> lhm = new LinkedHashMap<>(10, 0.75f, true);
lhm.put(1, "one");
lhm.put(2, "two");
lhm.put(3, "three");
lhm.put(4, "four");
lhm.put(5, "five");
lhm.get(2);
System.out.println(lhm);
// 输出结果: {1=one, 3=three, 4=four, 5=five, 2=two}
我们可以看到,虽然插入键值对时的顺序是 1,2,3,4,5,但是打印出 LinkedHashMap 对象时,元素是按照 1,3,4,5,2 的顺序排序的。
LinkedHashMap类继承自HashMap类,并且增加了能够保持插入顺序和访问顺序的功能。它的特点是线程不安全,支持null键和null值,非同步执行,因此在多线程环境下需要注意线程安全问题。当需要保证元素的顺序时,我们可以使用LinkedHashMap类。