Package com.ibm.wala.util.intset
Class BimodalMutableIntSet
- java.lang.Object
-
- com.ibm.wala.util.intset.BimodalMutableIntSet
-
- All Implemented Interfaces:
IntSet
,MutableIntSet
,Serializable
public class BimodalMutableIntSet extends Object implements MutableIntSet
An implementation ofMutableIntSet
that delegates to either aMutableSparseIntSet
or aBitVectorIntSet
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BimodalMutableIntSet()
BimodalMutableIntSet(int initialSize, float expansionFactor)
BimodalMutableIntSet(BimodalMutableIntSet x)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(int i)
Add an integer value to this set.boolean
addAll(IntSet set)
Add all members of set to this.boolean
addAllInIntersection(IntSet other, IntSet filter)
void
clear()
remove all elements from this setboolean
contains(int i)
boolean
containsAll(BimodalMutableIntSet that)
TODO: optimize ME!boolean
containsAny(IntSet that)
void
copySet(IntSet set)
Set the value of this to be the same as the value of setvoid
foreach(IntSetAction action)
Invoke an action on each element of the Setvoid
foreachExcluding(IntSet X, IntSetAction action)
Invoke an action on each element of the Set, excluding elements of Set XIntSet
getBackingStore()
use with careIntSet
intersection(IntSet that)
This implementation must not despoil the original value of "this"void
intersectWith(IntSet set)
Intersect this with another set.IntIterator
intIterator()
boolean
isEmpty()
boolean
isSubset(IntSet that)
static BimodalMutableIntSet
makeCopy(IntSet B)
int
max()
boolean
remove(int i)
Remove an integer from this set.boolean
removeAll(IntSet that)
TODO: optimize ME!boolean
sameValue(IntSet that)
int
size()
String
toString()
IntSet
union(IntSet that)
This implementation must not despoil the original value of "this"
-
-
-
Constructor Detail
-
BimodalMutableIntSet
public BimodalMutableIntSet()
-
BimodalMutableIntSet
public BimodalMutableIntSet(int initialSize, float expansionFactor)
-
BimodalMutableIntSet
public BimodalMutableIntSet(BimodalMutableIntSet x)
- Parameters:
x
-- Throws:
IllegalArgumentException
- if x is null
-
-
Method Detail
-
copySet
public void copySet(IntSet set)
Description copied from interface:MutableIntSet
Set the value of this to be the same as the value of set- Specified by:
copySet
in interfaceMutableIntSet
-
addAll
public boolean addAll(IntSet set)
Description copied from interface:MutableIntSet
Add all members of set to this.- Specified by:
addAll
in interfaceMutableIntSet
- Returns:
- true iff the value of this changes.
-
addAllInIntersection
public boolean addAllInIntersection(IntSet other, IntSet filter)
- Specified by:
addAllInIntersection
in interfaceMutableIntSet
-
add
public boolean add(int i)
Description copied from interface:MutableIntSet
Add an integer value to this set.- Specified by:
add
in interfaceMutableIntSet
- Parameters:
i
- integer to add- Returns:
- true iff the value of this changes.
-
remove
public boolean remove(int i)
Description copied from interface:MutableIntSet
Remove an integer from this set.- Specified by:
remove
in interfaceMutableIntSet
- Parameters:
i
- integer to remove- Returns:
- true iff the value of this changes.
-
intersectWith
public void intersectWith(IntSet set) throws UnimplementedError
Description copied from interface:MutableIntSet
Intersect this with another set.- Specified by:
intersectWith
in interfaceMutableIntSet
- Throws:
UnimplementedError
-
contains
public boolean contains(int i)
-
intersection
public IntSet intersection(IntSet that) throws UnimplementedError
Description copied from interface:IntSet
This implementation must not despoil the original value of "this"- Specified by:
intersection
in interfaceIntSet
- Returns:
- a new IntSet which is the intersection of this and that
- Throws:
UnimplementedError
-
union
public IntSet union(IntSet that)
Description copied from interface:IntSet
This implementation must not despoil the original value of "this"
-
isEmpty
public boolean isEmpty()
-
size
public int size()
-
intIterator
public IntIterator intIterator()
- Specified by:
intIterator
in interfaceIntSet
- Returns:
- a perhaps more efficient iterator
-
foreach
public void foreach(IntSetAction action)
Description copied from interface:IntSet
Invoke an action on each element of the Set
-
foreachExcluding
public void foreachExcluding(IntSet X, IntSetAction action)
Description copied from interface:IntSet
Invoke an action on each element of the Set, excluding elements of Set X- Specified by:
foreachExcluding
in interfaceIntSet
-
max
public int max() throws IllegalStateException
- Specified by:
max
in interfaceIntSet
- Returns:
- maximum integer in this set.
- Throws:
IllegalStateException
-
makeCopy
public static BimodalMutableIntSet makeCopy(IntSet B) throws UnimplementedError, IllegalArgumentException
-
clear
public void clear()
Description copied from interface:MutableIntSet
remove all elements from this set- Specified by:
clear
in interfaceMutableIntSet
-
sameValue
public boolean sameValue(IntSet that)
-
isSubset
public boolean isSubset(IntSet that) throws IllegalArgumentException
- Specified by:
isSubset
in interfaceIntSet
- Returns:
- true iff
this
is a subset ofthat
. - Throws:
IllegalArgumentException
-
getBackingStore
public IntSet getBackingStore()
use with care
-
containsAny
public boolean containsAny(IntSet that) throws IllegalArgumentException, UnimplementedError
- Specified by:
containsAny
in interfaceIntSet
- Returns:
- true iff this set contains integer i
- Throws:
IllegalArgumentException
UnimplementedError
-
removeAll
public boolean removeAll(IntSet that)
TODO: optimize ME!- Throws:
IllegalArgumentException
- if that is null
-
containsAll
public boolean containsAll(BimodalMutableIntSet that)
TODO: optimize ME!- Throws:
IllegalArgumentException
- if that is null
-
-