Package com.ibm.wala.util.collections
Class SparseVector<T>
- java.lang.Object
-
- com.ibm.wala.util.collections.SparseVector<T>
-
- All Implemented Interfaces:
IVector<T>,java.io.Serializable,java.lang.Iterable<T>
public class SparseVector<T> extends java.lang.Object implements IVector<T>, java.io.Serializable
AnIVectorimplementation designed for low occupancy. Note that get() from this vector is a binary search. This should only be used for small sets ... insertion and deletion are linear in size of set.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SparseVector()SparseVector(int initialSize, float expansion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Tget(int x)intgetMaxIndex()IntIteratoriterateIndices()java.util.Iterator<T>iterator()voidperformVerboseAction()voidremove(int x)IntIteratorsafeIterateIndices()This iteration _will_ cover all indices even when remove is called while the iterator is active.voidset(int x, T value)TODO: this can be optimizedintsize()
-
-
-
Method Detail
-
set
public void set(int x, T value)TODO: this can be optimized- Specified by:
setin interfaceIVector<T>- See Also:
IntVector.set(int, int)
-
performVerboseAction
public void performVerboseAction()
- Specified by:
performVerboseActionin interfaceIVector<T>
-
iterator
public java.util.Iterator<T> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<T>
-
getMaxIndex
public int getMaxIndex() throws java.lang.IllegalStateException- Specified by:
getMaxIndexin interfaceIVector<T>- Returns:
- max i s.t get(i) != null
- Throws:
java.lang.IllegalStateException
-
size
public int size()
-
iterateIndices
public IntIterator iterateIndices()
-
safeIterateIndices
public IntIterator safeIterateIndices()
This iteration _will_ cover all indices even when remove is called while the iterator is active.
-
clear
public void clear()
-
remove
public void remove(int x)
-
-