二进制搜索列表但不搜索集合

5 java collections

Collection它是:

binarySearch(List list, Object key)
Run Code Online (Sandbox Code Playgroud)

为什么二进制搜索不适用于Set?为什么只是为了List

任何具体原因?

das*_*ght 8

二进制搜索意味着已排序的容器.一个集合是无序的(HashSet),在这种情况下,不能执行二进制搜索,或者它是ordered(TreeSet),在这种情况下,它的查找操作已经像二进制搜索一样有效(即O(Log2(N))).


小智 5

二进制搜索适用于有序集合.套餐不订购.


Lor*_*igs 3

集合是无序的,并且没有其包含的元素的索引。因此,返回元素索引的 binarySearch() 方法没有意义。