org.apache.lucene.util

## Class BitDocIdSet

- java.lang.Object
- - org.apache.lucene.search.DocIdSet
  - - org.apache.lucene.util.BitDocIdSet

- All Implemented Interfaces:
    Accountable

      public class BitDocIdSet
      extends DocIdSet

  Implementation of the `DocIdSet` interface on top of a `BitSet`.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.search.DocIdSet

      `EMPTY`

    - ### Fields inherited from interface org.apache.lucene.util.Accountable

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BitDocIdSet(BitSet set)` Same as `BitDocIdSet(BitSet, long)` but uses the set's `approximate cardinality` as a cost.
    `BitDocIdSet(BitSet set, long cost)` Wrap the given `BitSet` as a `DocIdSet`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `BitSet` | `bits()` Optionally provides a `Bits` interface for random access to matching documents.
    `DocIdSetIterator` | `iterator()` Provides a `DocIdSetIterator` to access the set.
    `long` | `ramBytesUsed()` Return the memory usage of this object in bytes.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.lucene.util.Accountable

      `getChildResources`

- - ### Constructor Detail

    - #### BitDocIdSet

          public BitDocIdSet(BitSet set,
                             long cost)

      Wrap the given `BitSet` as a `DocIdSet`. The provided `BitSet` must not be modified afterwards.

    - #### BitDocIdSet

          public BitDocIdSet(BitSet set)

      Same as `BitDocIdSet(BitSet, long)` but uses the set's `approximate cardinality` as a cost.

  - ### Method Detail

    - #### iterator

          public DocIdSetIterator iterator()

      Description copied from class: `DocIdSet`
      Provides a `DocIdSetIterator` to access the set. This implementation can return `null` if there are no docs that match.
      Specified by:
        `iterator` in class `DocIdSet`

    - #### bits

          public BitSet bits()

      Description copied from class: `DocIdSet`
      Optionally provides a `Bits` interface for random access to matching documents.
      Overrides:
        `bits` in class `DocIdSet`
      Returns:
        `null`, if this `DocIdSet` does not support random access. In contrast to `DocIdSet.iterator()`, a return value of `null` does not imply that no documents match the filter! The default implementation does not provide random access, so you only need to implement this method if your DocIdSet can guarantee random access to every docid in O(1) time without external disk access (as `Bits` interface cannot throw `IOException`). This is generally true for bit sets like `FixedBitSet`, which return itself if they are used as `DocIdSet`.

    - #### ramBytesUsed

          public long ramBytesUsed()

      Description copied from interface: `Accountable`
      Return the memory usage of this object in bytes. Negative values are illegal.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.