Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LinkedHashMap和TreeMap哪个更快?_Java_Hash - Fatal编程技术网

Java LinkedHashMap和TreeMap哪个更快?

Java LinkedHashMap和TreeMap哪个更快?,java,hash,Java,Hash,我有一些数据将以排序的顺序出现(首先是整个键集以排序的顺序出现,然后以随机顺序重复)。因此,我可以同时使用LinkedHashMap或TreeMap来保持顺序(对吗?)。那么我的问题是,哪一个更快,哪一个更节省空间 LinkedHashMap插入速度更快,因为它不必像@EJP所说的那样在像TreeMap一样插入时进行不必要的比较。由于LinkedHashMap只需要上一个键和下一个键的链接,而TreeMap需要到父节点的链接和到子节点的1+链接,因此我认为TreeMap也会消耗稍大的内存 所以我

我有一些数据将以排序的顺序出现(首先是整个键集以排序的顺序出现,然后以随机顺序重复)。因此,我可以同时使用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