面试真题

Java · 简单 · 网易

要想有序,用哪个 Map?

简单 Java 🎤 网易
参考答案
结论:需要key有序用TreeMap,需要插入或访问有序用LinkedHashMap。原理:HashMap无序;TreeMap基于红黑树,按key自然序或Comparator排序,操作O(log n);LinkedHashMap继承HashMap,内部维护双向链表,默认保插入顺序,构造参数accessOrder=true时保访问顺序(LRU)。差异:TreeMap靠比较器排序,LinkedHashMap靠链表时序;示例:new TreeMap<>()得{a=1,b=2};new LinkedHashMap<>(16,0.75f,true)调用get会挪尾。按排序维度选择。
题目整理自公开面经,答案由校招宝自研生成,仅供参考