有没有办法通过指定项目的顺序来优化java.util.Collection中的插入速度?
例如
java.util.Setset = java.util.TreeSet ();
这个解决方案:
set.add("A"); set.add("B"); set.add("C"); set.add("D"); set.add("E");
比这个更快(随机顺序)?
set.add("E"); set.add("D"); set.add("C"); set.add("A"); set.add("B");
(以及其他集合的相同问题:HashMap,hastable ......)
谢谢
简单的答案是"时间和看到".
另一个答案是"无所谓".这似乎是微观优化,几乎不值得努力.我认为它属于"微优化剧场悲剧悲剧"的范畴.
对于java.util.Map和java.util.Set没有,因为这些是接口,并且有不同的实现.
对于具体实现,它不是一个值得优化的.如果您遇到性能问题,请选择更合适的实施方案,或重新考虑您需要存储的内容和方式.
在一台普通的笔记本电脑上插入5000个随机数到一个HashSet大约需要一毫秒,所以你想插入多少百万个元素才能使这种优化变得有价值?