A dynamically sized array where element indices aren't necessarily contiguous. Memory is allocated for all elements in the array's index range, so it doesn't save memory; but it does allow O(1) element removal that doesn't invalidate the indices of subsequent elements. It usesTArrayto store the elements, and aTBitArrayto store whether each element index is allocated (for fast iteration over allocated elements).