Class MutableSparseIntSet
java.lang.Object
com.ibm.wala.util.intset.SparseIntSet
com.ibm.wala.util.intset.MutableSparseIntSet
- All Implemented Interfaces:
IntSet
,MutableIntSet
,Serializable
- Direct Known Subclasses:
TunedMutableSparseIntSet
A sparse ordered, mutable duplicate-free, fully-encapsulated set of integers. Instances are not
canonical, except for EMPTY.
This implementation will be inefficient if these sets get large.
TODO: even for small sets, we probably want to work on this to reduce the allocation activity.
- See Also:
-
Field Summary
Fields inherited from class com.ibm.wala.util.intset.SparseIntSet
elements, size
-
Constructor Summary
ModifierConstructorDescriptionprotected
protected
MutableSparseIntSet
(int[] backingStore) protected
MutableSparseIntSet
(@Nullable IntSet set) -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(int value) Add an integer value to this set.boolean
addAll
(@Nullable SparseIntSet that) Add all elements from another int set.boolean
Add all elements from another int set.boolean
addAllInIntersection
(IntSet other, IntSet filter) void
clear()
remove all elements from this setvoid
Set the value of this to be the same as the value of setstatic MutableSparseIntSet
createMutableSparseIntSet
(int initialCapacity) static MutableSparseIntSet
float
int
void
intersectWith
(IntSet set) Intersect this with another set.void
static MutableSparseIntSet
static MutableSparseIntSet
boolean
remove
(int value) Remove an integer from this set.void
void
TODO optimize<T extends BitVectorBase<T>>
voidremoveAll
(T v) Methods inherited from class com.ibm.wala.util.intset.SparseIntSet
add, contains, containsAny, containsAny, diff, diffInternal, elementAt, foreach, foreachExcluding, getIndex, intersection, intIterator, isEmpty, isSubset, max, pair, parseIntArray, sameValue, singleton, size, toIntArray, toString, union
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.ibm.wala.util.intset.IntSet
contains, containsAny, foreach, foreachExcluding, intersection, intIterator, isEmpty, isSubset, max, sameValue, size, union
-
Constructor Details
-
MutableSparseIntSet
-
MutableSparseIntSet
protected MutableSparseIntSet(int[] backingStore) -
MutableSparseIntSet
protected MutableSparseIntSet()
-
-
Method Details
-
clear
public void clear()Description copied from interface:MutableIntSet
remove all elements from this set- Specified by:
clear
in interfaceMutableIntSet
-
remove
@NullUnmarked public boolean remove(int value) Description copied from interface:MutableIntSet
Remove an integer from this set.- Specified by:
remove
in interfaceMutableIntSet
- Parameters:
value
- integer to remove- Returns:
- true iff the value of this changes.
-
getInitialNonEmptySize
public int getInitialNonEmptySize() -
getExpansionFactor
public float getExpansionFactor() -
add
public boolean add(int value) Description copied from interface:MutableIntSet
Add an integer value to this set.- Specified by:
add
in interfaceMutableIntSet
- Parameters:
value
- integer to add- Returns:
- true iff this value changes
-
copySet
Description copied from interface:MutableIntSet
Set the value of this to be the same as the value of set- Specified by:
copySet
in interfaceMutableIntSet
- Throws:
IllegalArgumentException
- if that == null
-
intersectWith
Description copied from interface:MutableIntSet
Intersect this with another set.- Specified by:
intersectWith
in interfaceMutableIntSet
-
intersectWith
-
addAll
Add all elements from another int set.- Specified by:
addAll
in interfaceMutableIntSet
- Returns:
- true iff this set changes
- Throws:
IllegalArgumentException
- if set == null
-
addAll
Add all elements from another int set.- Returns:
- true iff this set changes
-
removeAll
-
removeAll
-
removeAll
TODO optimize- Throws:
IllegalArgumentException
- if set is null
-
addAllInIntersection
- Specified by:
addAllInIntersection
in interfaceMutableIntSet
-
diff
-
make
-
makeEmpty
-
createMutableSparseIntSet
public static MutableSparseIntSet createMutableSparseIntSet(int initialCapacity) throws IllegalArgumentException - Throws:
IllegalArgumentException
-