5

その中Collectionには:

binarySearch(List list, Object key)

二分探索が適用できないのはなぜSetですか?なぜそれだけなのListか?

特定の理由はありますか?

4

4 に答える 4

8

二分探索は、ソートされたコンテナーを意味します。セットはHashSet、二分探索を実行できない場合、順序付けされていないTreeSet(O(Log2(N))

于 2012-08-14T13:50:23.490 に答える
5

二分探索は、順序付きコレクションで機能します。セットは注文していません。

于 2012-08-14T13:51:31.963 に答える
4

この場合、バイナリ検索は、List が順序付けられ、並べ替えられている場合にのみ機能します。つまり、すべてのリストで機能するわけではなく、事前にソートされたリストのみで機能します。

セットは順序付けされておらず、ソートされていない場合があります。

セットがソートされている場合、NavigableSet のいずれかのメソッドを使用できます

于 2012-08-14T13:50:47.597 に答える
3

セットは順序付けされておらず、含まれる要素のインデックスはありません。したがって、要素のインデックスを返す binarySearch() メソッドは意味がありません。

于 2012-08-14T13:49:58.747 に答える