java 包含 () 方法使用什么算法



我想在我拥有的 HashSet 中有效地搜索对象。

我想知道在java集合上定义的contains((方法是否使用二进制搜索?还是我应该编写自己的二叉搜索算法?

HashSet中的一般搜索复杂度是O(1) - 这意味着它是恒定的。自己写?比这个好?

你绝对可以查看源代码,了解HashSet实际上是内部的HashMap;它使用存储桶、LinkedNode 和 TreeNodes;了解它们是如何工作的,等等。或者相信好的实现并专注于其他东西;除非你真的需要更快的东西。

最新更新