public class IntArrayBag
extends java.lang.Object
implements java.lang.Cloneable
ArrayBag,
IntLinkedBag(2) A bag's capacity cannot exceed the maximum integer 2,147,483,647 (Integer.MAX_VALUE). Any attempt to create a larger capacity results in a failure due to an arithmetic overflow.
(3) Because of the slow linear algorithms of this class, large bags will have poor performance.
| Constructor and Description |
|---|
IntArrayBag()
Initialize an empty bag with an initial capacity of 10.
|
IntArrayBag(int initialCapacity)
Initialize an empty bag with a specified initial capacity.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(int element)
Add a new element to this bag.
|
void |
addAll(IntArrayBag addend)
Add the contents of another bag to this bag.
|
void |
addMany(int... elements)
Add new elements to this bag.
|
IntArrayBag |
clone()
Generate a copy of this bag.
|
int |
countOccurrences(int target)
Accessor method to count the number of occurrences of a particular element
in this bag.
|
void |
ensureCapacity(int minimumCapacity)
Change the current capacity of this bag.
|
int |
getCapacity()
Accessor method to get the current capacity of this bag.
|
boolean |
remove(int target)
Remove one copy of a specified element from this bag.
|
int |
size()
Determine the number of elements in this bag.
|
void |
trimToSize()
Reduce the current capacity of this bag to its actual size (i.e., the
number of elements it contains).
|
static IntArrayBag |
union(IntArrayBag b1,
IntArrayBag b2)
Create a new bag that contains all the elements from two other bags.
|
public IntArrayBag()
java.lang.OutOfMemoryError - Indicates insufficient memory for:
new int[10].public IntArrayBag(int initialCapacity)
initialCapacity - the initial capacity of this bagjava.lang.IllegalArgumentException - Indicates that initialCapacity is negative.java.lang.OutOfMemoryError - Indicates insufficient memory for: new int[initialCapacity].public void add(int element)
element - the new element that is being insertedjava.lang.OutOfMemoryError - Indicates insufficient memory for increasing the bag's capacity.public void addMany(int... elements)
elements - (a variable-arity argument)
one or more new elements that are being insertedjava.lang.OutOfMemoryError - Indicates insufficient memory for increasing the bag's capacity.public void addAll(IntArrayBag addend)
addend - a bag whose contents will be added to this bagjava.lang.NullPointerException - Indicates that addend is null.java.lang.OutOfMemoryError - Indicates insufficient memory to increase the size of the bag.public IntArrayBag clone()
clone in class java.lang.Objectjava.lang.OutOfMemoryError - Indicates insufficient memory for creating the clone.public int countOccurrences(int target)
target - the element that needs to be countedpublic void ensureCapacity(int minimumCapacity)
minimumCapacity - the new capacity for this bagjava.lang.OutOfMemoryError - Indicates insufficient memory for: new int[minimumCapacity].public int getCapacity()
public boolean remove(int target)
target - the element to remove from the bagpublic int size()
public void trimToSize()
java.lang.OutOfMemoryError - Indicates insufficient memory for altering the capacity.public static IntArrayBag union(IntArrayBag b1, IntArrayBag b2)
b1 - the first of two bagsb2 - the second of two bagsjava.lang.NullPointerException - Indicates that one of the arguments is null.java.lang.OutOfMemoryError - Indicates insufficient memory for the new bag.