Java LinkedHashMap和TreeMap哪个更快?
我有一些数据将以排序的顺序出现(首先是整个键集以排序的顺序出现,然后以随机顺序重复)。因此,我可以同时使用LinkedHashMap或TreeMap来保持顺序(对吗?)。那么我的问题是,哪一个更快,哪一个更节省空间 LinkedHashMap插入速度更快,因为它不必像@EJP所说的那样在像TreeMap一样插入时进行不必要的比较。由于LinkedHashMap只需要上一个键和下一个键的链接,而TreeMap需要到父节点的链接和到子节点的1+链接,因此我认为TreeMap也会消耗稍大的内存Java LinkedHashMap和TreeMap哪个更快?,java,hash,Java,Hash,我有一些数据将以排序的顺序出现(首先是整个键集以排序的顺序出现,然后以随机顺序重复)。因此,我可以同时使用LinkedHashMap或TreeMap来保持顺序(对吗?)。那么我的问题是,哪一个更快,哪一个更节省空间 LinkedHashMap插入速度更快,因为它不必像@EJP所说的那样在像TreeMap一样插入时进行不必要的比较。由于LinkedHashMap只需要上一个键和下一个键的链接,而TreeMap需要到父节点的链接和到子节点的1+链接,因此我认为TreeMap也会消耗稍大的内存 所以我
所以我投票支持LinkedHashMap。更少的内存、更少的时间,当然还有更少的CPU。我认为LinkedHashMap会更好。原因是您的订单插入订单是正确的订单,另一方面treemap(红黑树)成本o(lgn)到reblance@Andrew理发师:但问题太直接了。。我应该使用这两种数据结构中的哪一种?我将把范围缩小到速度是唯一的标准。。这会有帮助吗?有文件记录,LinkedHashMap是O(1)用于插入和检索,其中TeeMap是O(log(N))。我重新打开了这个问题。我可能会建议你多描述一点你遇到的具体问题,因为这可能(甚至微妙地)影响答案/cc@EJP