Package tech.tablesaw.selection
Class BitSetBackedSelection
- java.lang.Object
-
- tech.tablesaw.selection.BitSetBackedSelection
-
-
Constructor Summary
Constructors Constructor Description BitSetBackedSelection()Constructs an empty SelectionBitSetBackedSelection(int size)Returns a selection initialized from 0 to the given size, which cane be used for queries that exclude certain items, by first selecting the items to exclude, then flipping the bits.BitSetBackedSelection(int[] arr)Constructs a selection containing the elements in the given arrayBitSetBackedSelection(BitSet bitmap)Constructs a selection containing the elements in the given bitmap
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BitSetBackedSelectionadd(int... ints)Adds the given integers to the Selection if it is not already present, and does nothing otherwiseSelectionaddRange(int start, int end)Adds to the current bitmap all integers in [rangeStart,rangeEnd)Selectionand(Selection otherSelection)Intersects the receiver andotherSelection, updating the receiverSelectionandNot(Selection otherSelection)Implements the set difference operation between the receiver andotherSelection, after updating the receiverSelectionclear()Returns this selection with all its values clearedbooleancontains(int i)Returns true if the index i is selected in this objectbooleanequals(Object o)BitSetBackedSelectionflip(int rangeStart, int rangeEnd)Returns a selection with the bits from this selection flipped over the given rangeintget(int indexToFind)Returns the value of the ith element.inthashCode()booleanisEmpty()Returns true if this selection has no values, and false otherwiseit.unimi.dsi.fastutil.ints.IntIteratoriterator()Returns a fastUtil intIterator that wraps a bitmap intIteratorSelectionor(Selection otherSelection)Implements the union of the receiver andotherSelection, updating the receiverBitSetBackedSelectionremoveRange(long start, long end)Removes from the current bitmap from all integers in [rangeStart,rangeEnd)protected static BitSetBackedSelectionselectNRowsAtRandom(int n, int max)Returns an randomly generated selection of size N where Max is the largest possible valueintsize()Returns the number of integers represented by this Selectionint[]toArray()Returns the elements of this selection as an array of intsStringtoString()static BitSetBackedSelectionwith(int... rows)Returns a Selection containing all indexes in the arrayprotected static SelectionwithoutRange(int totalRangeStart, int totalRangeEnd, int excludedRangeStart, int excludedRangeEnd)Returns a Selection containing all values from totalRangeStart to totalRangeEnd, except for those in the range from excludedRangeStart to excludedRangeEnd.static BitSetBackedSelectionwithRange(int start, int end)Returns a Selection containing all indexes in the range start (inclusive) to end (exclusive),
-
-
-
Constructor Detail
-
BitSetBackedSelection
public BitSetBackedSelection(int size)
Returns a selection initialized from 0 to the given size, which cane be used for queries that exclude certain items, by first selecting the items to exclude, then flipping the bits.- Parameters:
size- The size The end point, exclusive
-
BitSetBackedSelection
public BitSetBackedSelection(int[] arr)
Constructs a selection containing the elements in the given array
-
BitSetBackedSelection
public BitSetBackedSelection(BitSet bitmap)
Constructs a selection containing the elements in the given bitmap
-
BitSetBackedSelection
public BitSetBackedSelection()
Constructs an empty Selection
-
-
Method Detail
-
removeRange
public BitSetBackedSelection removeRange(long start, long end)
Removes from the current bitmap from all integers in [rangeStart,rangeEnd)- Specified by:
removeRangein interfaceSelection- Parameters:
start- inclusive beginning of rangeend- exclusive ending of range
-
flip
public BitSetBackedSelection flip(int rangeStart, int rangeEnd)
Returns a selection with the bits from this selection flipped over the given range
-
add
public BitSetBackedSelection add(int... ints)
Adds the given integers to the Selection if it is not already present, and does nothing otherwise
-
size
public int size()
Returns the number of integers represented by this Selection
-
toArray
public int[] toArray()
Returns the elements of this selection as an array of ints
-
and
public Selection and(Selection otherSelection)
Intersects the receiver andotherSelection, updating the receiver
-
or
public Selection or(Selection otherSelection)
Implements the union of the receiver andotherSelection, updating the receiver
-
andNot
public Selection andNot(Selection otherSelection)
Implements the set difference operation between the receiver andotherSelection, after updating the receiver
-
isEmpty
public boolean isEmpty()
Returns true if this selection has no values, and false otherwise
-
clear
public Selection clear()
Returns this selection with all its values cleared
-
contains
public boolean contains(int i)
Returns true if the index i is selected in this object
-
addRange
public Selection addRange(int start, int end)
Adds to the current bitmap all integers in [rangeStart,rangeEnd)
-
get
public int get(int indexToFind)
Returns the value of the ith element. For example, if there are three ints {4, 32, 71} in the selection, get(0) returns 4, get(1) returns 32, and get(2) returns 71It can be useful if you need to iterate over the data, although there is also an iterator
-
iterator
public it.unimi.dsi.fastutil.ints.IntIterator iterator()
Returns a fastUtil intIterator that wraps a bitmap intIterator
-
with
public static BitSetBackedSelection with(int... rows)
Returns a Selection containing all indexes in the array
-
withRange
public static BitSetBackedSelection withRange(int start, int end)
Returns a Selection containing all indexes in the range start (inclusive) to end (exclusive),
-
withoutRange
protected static Selection withoutRange(int totalRangeStart, int totalRangeEnd, int excludedRangeStart, int excludedRangeEnd)
Returns a Selection containing all values from totalRangeStart to totalRangeEnd, except for those in the range from excludedRangeStart to excludedRangeEnd. Start values are inclusive, end values exclusive.
-
selectNRowsAtRandom
protected static BitSetBackedSelection selectNRowsAtRandom(int n, int max)
Returns an randomly generated selection of size N where Max is the largest possible value
-
-