public class Bag<Item> extends java.lang.Object implements java.lang.Iterable<Item>
Essa implementação usa uma lista ligada; os nós da lista são definidas por uma classe estática aninhada Node. (Veja a classe LinkedBag para uma versão que usa uma clase aninhada não estática.)
As operações add, isEmpty, e size consomem tempo constante. A iteração consome tempo proporcional ao do número de itens no saco.
Documentação adicional: veja Section 1.3 (página 121 da versão impressa) do livro Algorithms, 4th Edition, de Robert Sedgewick e Kevin Wayne.
Constructor and Description |
---|
Bag()
Creates an empty bag.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Item item)
Adds the item to this bag.
|
boolean |
isEmpty()
Is this bag empty?
Esse saco está vazio?
|
java.util.Iterator<Item> |
iterator()
Returns an iterator that iterates over the items in the bag
in arbitrary order.
|
static void |
main(java.lang.String[] args)
Unit test of this Bag data type.
|
int |
size()
Returns the number of items in this bag
(each repeated item counts).
|
public boolean isEmpty()
public int size()
public void add(Item item)
Adiciona item ao saco. (Mesmo que o item seja repetido.)
public java.util.Iterator<Item> iterator()
iterator
in interface java.lang.Iterable<Item>
public static void main(java.lang.String[] args)