Package elki.database.ids.integer
Class IntegerDBIDRange
- java.lang.Object
-
- elki.database.ids.integer.IntegerDBIDRange
-
- All Implemented Interfaces:
DataStoreIDMap,ArrayDBIDs,ArrayStaticDBIDs,DBIDRange,DBIDs,IntegerDBIDs,SetDBIDs,StaticDBIDs
final class IntegerDBIDRange extends java.lang.Object implements IntegerDBIDs, DBIDRange, SetDBIDs
Representing a DBID range allocation.- Since:
- 0.4.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classIntegerDBIDRange.ItrIterator in ELKI/C++ style.
-
Constructor Summary
Constructors Modifier Constructor Description protectedIntegerDBIDRange(int start, int len)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DBIDVarassignVar(int index, DBIDVar var)Assign a DBID variable the value of positionindex.intbinarySearch(DBIDRef key)Search for the position of the given key, assuming that the data set is sorted.booleancontains(DBIDRef o)Test whether an ID is contained.DBIDget(int i)Get the i'th entry (starting at 0)intgetOffset(DBIDRef dbid)For storage array offsets.IntegerDBIDRange.Itriter()Get a DBID iterator (a more efficient API).intmapDBIDToOffset(DBIDRef dbid)Map a DBID to an array offset.intsize()Retrieve the collection / data size.ArrayDBIDsslice(int begin, int end)Slice a subarray (as view, not copy!)java.lang.StringtoString()
-
-
-
Method Detail
-
size
public int size()
Description copied from interface:DBIDsRetrieve the collection / data size.- Specified by:
sizein interfaceArrayDBIDs- Specified by:
sizein interfaceDBIDs- Returns:
- collection size
-
contains
public boolean contains(DBIDRef o)
Description copied from interface:DBIDsTest whether an ID is contained.
-
get
public DBID get(int i)
Description copied from interface:ArrayDBIDsGet the i'th entry (starting at 0)If possible, use an
DBIDArrayIterviaArrayDBIDs.iter()instead, or anDBIDVarviaArrayDBIDs.assignVar(int, elki.database.ids.DBIDVar)- Specified by:
getin interfaceArrayDBIDs- Parameters:
i- Index- Returns:
- DBID of i'th entry.
-
getOffset
public int getOffset(DBIDRef dbid)
For storage array offsets.
-
assignVar
public DBIDVar assignVar(int index, DBIDVar var)
Description copied from interface:ArrayDBIDsAssign a DBID variable the value of positionindex.- Specified by:
assignVarin interfaceArrayDBIDs- Parameters:
index- Positionvar- Variable to assign the value to.
-
binarySearch
public int binarySearch(DBIDRef key)
Description copied from interface:ArrayDBIDsSearch for the position of the given key, assuming that the data set is sorted. For unsorted arrays, the result is undefined.For keys not found,
-(1+insertion position)is returned, as for JavaCollections.binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T)- Specified by:
binarySearchin interfaceArrayDBIDs- Parameters:
key- Key to search for- Returns:
- Offset of key
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
mapDBIDToOffset
public int mapDBIDToOffset(DBIDRef dbid)
Description copied from interface:DataStoreIDMapMap a DBID to an array offset.- Specified by:
mapDBIDToOffsetin interfaceDataStoreIDMap- Parameters:
dbid- DBID- Returns:
- record id
id >= 0
-
slice
public ArrayDBIDs slice(int begin, int end)
Description copied from interface:ArrayDBIDsSlice a subarray (as view, not copy!)- Specified by:
slicein interfaceArrayDBIDs- Parameters:
begin- Begin (inclusive)end- End (exclusive)- Returns:
- Array slice.
-
iter
public IntegerDBIDRange.Itr iter()
Description copied from interface:DBIDsGet a DBID iterator (a more efficient API).Example:
for(DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) { NumberVector vec = relation.get(iter); // iter is a temporary object reference }- Specified by:
iterin interfaceArrayDBIDs- Specified by:
iterin interfaceDBIDs- Specified by:
iterin interfaceIntegerDBIDs- Returns:
- iterator
-
-