linkedhashmap排序规则
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Map<String, Integer> insertionOrderedMap = new
LinkedHashMap<>();
insertionOrderedMap.put("A", 1);
insertionOrderedMap.put("B", 2);
insertionOrderedMap.put("C", 3);
System.out.println(" 插 入 顺 序 :edMap);
// 基于访问顺序的 LinkedHashMap
Map<String, Integer> accessOrderedMap = new
LinkedHashMap<>(16, 0.75f, true);
System.out.println(" 访 问 顺 序 : accessOrderedMap);
} }
输出结果如下:
"+
Copy Code
插入顺序: {A=1, B=2, C=3} 访问顺序: {A=1, B=2, C=3} 访问顺序: {C=3, A=1, B=2}
可以看到,基于插入顺序的 LinkedHashMap 在迭代时保持了元 素的插入顺序。而基于访问顺序的 LinkedHashMap 则在访问过元素 后,会将该元素放在迭代顺序的末尾。 如果您需要按照其他自定义的排序规则对 Map 进行排序,可以考虑 使用 TreeMap,它支持按照键的自然排序或者自定义排序进行排序。
linkedhashmap 排序规则
LinkedHashMap 是 Java 提供的一种有序的 HashMap 实现,它 保持了插入顺序或者访问顺序的迭代顺序。当涉及到排序规则时, LinkedHashMap 只能按照插入顺序或访问顺序进行排序,并不直接 支持自定义排序规则。 基于插入顺序的排序规则: LinkedHashMap 默认的排序规则就是按 照元素的插入顺序进行排序,即最近插入的元素在迭代时位于最后。 新插入的元素总是会放在最后一个位置。 基于访问顺序的排序规则: 可以通过构造函数来创建一个基于访问 顺序的 LinkedHashMap,即当某个元素被访问后,它会被移动到迭代 顺序的末尾位置。可以通过传递 accessOrder 参数为 true 来实现 这一点 示例代码如下所示:
accessOrderedMap.put("A", 1);
accessOrderedMap.put("B", 2);
accessOrderedMap.put("C", 3);
System.out.println(" 访 问 顺 序 :
"+
accessOrderedMap);
// 对访问顺序的 LinkedHashMap 进行访问操作 accessOrderedMap.get("A"); accessOrderedMap.get("B");
javaCopy Code import java.util.LinkedHashMap; import java.util.Map;
public class LinkedHashMapExample { public static void main(String[] args) {
// 基于插入顺序的 LinkedHashMap