Por favor, lembre-se que esta tradução da especificação é resultado de um projeto da comunidade java.net( https://jdk5-api-pt-br.dev.java.net/). A versão oficial da especificação é a versão na língua inglesa que pode ser encontrada em http://java.sun.com/j2se/1.5.0/docs/api/. Em caso de divergências, a versão predominante da especificação é a original em inglês.

Please note that this translation of the specification is the result of a java.net community project ( https://jdk5-api-pt-br.dev.java.net/ ). The official version of the specification is the US English language version which can be found at http://java.sun.com/j2se/1.5.0/docs/api/. In case of disputes, the authoritative version of the specification is the original, English document.


JavaTM 2 Platform
Standard Ed. 5.0

java.util
Interface Set<E>

All Superinterfaces:
Collection<E>, Iterable<E>
All Known Subinterfaces:
SortedSet<E>
All Known Implementing Classes:
AbstractSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet, TreeSet

public interface Set<E>
extends Collection<E>

Uma coleção onde não há elementos duplicados. Mais formalmente, sets não contém par de elementos e1 e e2 onde e1.equals(e2), e contém no máximo um elemento null. Como sugere o nome, esta interface modela a abstração matemática de um set.

A interface Set coloca estipulações adicionais, além daquelas herdadas da interface Collection, nos contratos de todos os construtores e nos contratos dos métodos add, equals e hashCode. Declarações para outros métodos herdados são também incluídos aqui por conveniência. (As especificações que seguem estas declarações foram incluídas na interface Set, mas não contém estipulações adicionais.)

A estipulação adicional aos construtores é que todos eles criem set que não contenha elementos duplicados (como definido anteriormente).

Nota: Cuidado maior deve ser levado em conta se objetos mutáveis forem usados como elementos do set. O comportamento do set não é definido se o valor desse objeto é alterado de maneira que afete comparações com equals enquanto o objeto é um elemento do set. Um caso especial dessa proibição é que não é permitido para um set conter ele próprio como elemento.

Algumas implementações de set possuem restrições quanto aos elementos que eles podem conter. Por exemplo, algumas implementações proíbem elementos null, e algumas tem restrições quanto aos tipos de seus elementos. A tentativa de adicionar um elemento inelegível lança uma RuntimeException, geralmente NullPointerException ou ClassCastException. A tentativa de consultar a presença de um elemento inelegível pode lançar uma exceção, ou pode simplesmente retornar false; algumas implementações devem apresentar o comportamento formal e outros devem apresentar o último. Geralmente, a tentativa de uma operação em um elemento inelegível cujo resultado não cause a inserção deste elemento no set pode lançar uma exceção ou pode acontecer com sucesso, fica a critério da implementação. Exceções como essas são definidas como "opcional" na especificação para esta interface.

Esta interface é um membro do Java Collections Framework.

Since:
1.2
See Also:
Collection, List, SortedSet, HashSet, TreeSet, AbstractSet, Collections.singleton(java.lang.Object), Collections.EMPTY_SET

Method Summary
 boolean add(E o)
          Adiciona o elemento especificado neste set se ele já não estiver presente (operação opcional).
 boolean addAll(Collection<? extends E> c)
          Adiciona neste set todos os elementos da coleção especificada se eles já não estiverem presentes (operação opcional).
 void clear()
          Remove todos os elementos deste set (operação opcional).
 boolean contains(Object o)
          Retorna true se este set contiver o elemento especificado.
 boolean containsAll(Collection<?> c)
          Retorna true se este set contiver todos os elementos da coleção especificada.
 boolean equals(Object o)
          Compara por igualdade o objeto especificado com este set.
 int hashCode()
          Retorna o valor do código hash para este set.
 boolean isEmpty()
          Retorna true se este set não contiver elementos.
 Iterator<E> iterator()
          Retorna um iterator sobre os elementos neste set.
 boolean remove(Object o)
          Remove deste set o elemento especificado se ele estiver presente (operação opcional).
 boolean removeAll(Collection<?> c)
          Remove deste set todos seus elementos que estiverem contidos na coleção especificada (operação opcional).
 boolean retainAll(Collection<?> c)
          Retém apenas os elementos deste set que estiverem contidos na coleção especificada (operação opcional).
 int size()
          Retorna o número de elementos neste set (sua cardinalidade).
 Object[] toArray()
          Retorna um array contendo todos os elementos deste set.
<T> T[]
toArray(T[] a)
          Retorna um array contendo todos os elementos deste set; o tipo em tempo de execução do array retornado é aquele do array especificado.
 

Method Detail

size

int size()
Retorna o número de elementos neste set (sua cardinalidade). Se este set contiver mais do que Integer.MAX_VALUE elementos, retorna Integer.MAX_VALUE.

Specified by:
size in interface Collection<E>
Returns:
o número de elementos neste set (sua cardinalidade).

isEmpty

boolean isEmpty()
Retorna true se este set não contiver elementos.

Specified by:
isEmpty in interface Collection<E>
Returns:
true se este set não contiver elementos.

contains

boolean contains(Object o)
Retorna true se este set contiver o elemento especificado. Mais formalmente, retorna true se e apenas se este set contiver um elemento e sendo que (o==null ? e==null : o.equals(e)).

Specified by:
contains in interface Collection<E>
Parameters:
o - elemento cuja presença neste set deve ser testada.
Returns:
true se este set contiver o elemento especificado.
Throws:
ClassCastException - se o tipo do elemento especificado é incompatível com este set (opcional).
NullPointerException - se o elemento especificado é null e este set não suporta elementos null (optional).

iterator

Iterator<E> iterator()
Retorna um iterator sobre os elementos neste set. Os elementos são retornados sem uma ordem particular (a menos que este set seja uma instância de alguma classe que forneça uma garantia).

Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface Iterable<E>
Returns:
um iterator sobre os elementos neste set.

toArray

Object[] toArray()
Retorna um array contendo todos os elementos deste set. Obedece o contrato geral do método Collection.toArray.

Specified by:
toArray in interface Collection<E>
Returns:
um array contendo todos os elementos deste set.

toArray

<T> T[] toArray(T[] a)
Retorna um array contendo todos os elementos deste set; o tipo em tempo de execução do array retornado é aquele do array especificado. Obedece o contrato geral do método Collection.toArray(Object[]).

Specified by:
toArray in interface Collection<E>
Parameters:
a - array cujo elementos neste set devem ser armazenados, se for grande o suficiente; se não, um novo array do mesmo tipo em tempo de execução é alocado para essa finalidade.
Returns:
um array contendo os elementos deste set.
Throws:
ArrayStoreException - o tipo em tempo de execução de a não é o supertipo do tipo em tempo de execução de todos elementos deste set.
NullPointerException - se o array especificado é null.

add

boolean add(E o)
Adiciona o elemento especificado neste set se ele já não estiver presente (operação opcional). Mais formalmente, adiciona o elemento especificado, o, neste set se este set não contiver e sendo que (o==null ? e==null : o.equals(e)). Se este set já contiver o elemento especificado, a chamada deixa este set inalterado e retorna false. Em combinação com a restrição nos construtores, isto assegura que sets nunca contenham elementos duplicados.

A estipulação acima não implica que sets tenham que aceitar todos elementos; sets podem recusar a adição de qualquer elemento particular, incluindo null, e lançando uma exceção, como descrito na especificação para Collection.add. Implementações individuais de set devem documentar claramente quaisquer restrições nos elementos que eles podem conter.

Specified by:
add in interface Collection<E>
Parameters:
o - elemento a ser adicionado neste set.
Returns:
true se este set já não contiver o elemento especificado.
Throws:
UnsupportedOperationException - se o método add não for suportado por este set.
ClassCastException - se a classe do elemento especificado o previne de ser adicionado neste set.
NullPointerException - se o elemento especificado é null e este set não suporta elementos null.
IllegalArgumentException - se algum aspecto do elemento especificado o previne de ser adicionado neste set.

remove

boolean remove(Object o)
Remove deste set o elemento especificado se ele estiver presente (operação opcional). Mais formalmente, remove o elemento e sendo que (o==null ? e==null : o.equals(e)), se o set contiver tal elemento. Retorna true se o set contiver o elemento especificado (ou seja, se o set foi alterado como resultado da chamada). (O set não deve conter o elemento especificado quando a chamada retornar.)

Specified by:
remove in interface Collection<E>
Parameters:
o - objeto a ser removido deste set, se presente.
Returns:
true se o set contiver o elemento especificado.
Throws:
ClassCastException - se o tipo do elemento especificado é incompatível com este set (opcional).
NullPointerException - se o elemento especificado é null e este set não suporta elementos null (opcional).
UnsupportedOperationException - se o método remove não é suportado por este set.

containsAll

boolean containsAll(Collection<?> c)
Retorna true se este set contiver todos os elementos da coleção especificada. Se a coleção especificada for também um set, este método retorna true se ela for um subset deste set.

Specified by:
containsAll in interface Collection<E>
Parameters:
c - coleção para ser verificado se está contida neste set.
Returns:
true se este set contiver todos os elementos da coleção especificada.
Throws:
ClassCastException - se o tipo de um ou mais elementos na coleção especificada forem incompatíveis com este set (opcional).
NullPointerException - se a coleção especificada contiver um ou mais elementos null e este set não suportar elementos null (opcional).
NullPointerException - se a coleção especificada for null.
See Also:
contains(Object)

addAll

boolean addAll(Collection<? extends E> c)
Adiciona neste set todos os elementos da coleção especificada se eles já não estiverem presentes (operação opcional). Se a coleção especificada for também um set, a operação addAll efetivamente modifica este set de maneira que seu valor passa a ser a união dos dois sets. O comportamento desta operação não é especificado se a coleção especificada for modificada enquanto a operação estiver em progresso.

Specified by:
addAll in interface Collection<E>
Parameters:
c - coleção cujo elementos devem ser adicionados neste set.
Returns:
true se este set for alterado como resultado desta chamada.
Throws:
UnsupportedOperationException - se o método addAll não for suportado por este set.
ClassCastException - se a classe de algum elemento da coleção especificada o previne de ser adicionado neste set.
NullPointerException - se a coleção especificada contiver um ou mais elementos null e este set não suporta elements null, ou se a coleção especificada for null.
IllegalArgumentException - se algum aspecto de algum elemento da coleção especificada o previne de ser adicionado neste set.
See Also:
add(Object)

retainAll

boolean retainAll(Collection<?> c)
Retém apenas os elementos deste set que estiverem contidos na coleção especificada (operação opcional). Em outras palavras, remove deste set todos elementos que não estiverem contidos na coleção especificada. Se a coleção especificada for também um set, esta operação efetivamente modifica este set de forma que seu valor passa a ser a interseção dos dois sets.

Specified by:
retainAll in interface Collection<E>
Parameters:
c - coleção que define quais elementos este set deve reter.
Returns:
true se esta coleção for alterada como resultado desta chamada.
Throws:
UnsupportedOperationException - se o método retainAll não for suportado por esta coleção.
ClassCastException - se os tipos de um ou mais elementos neste set forem incompatíveis com a coleção especificada (opcional).
NullPointerException - se este set contiver um elemento null e a coleção especificada não suportar elementos null (optional).
NullPointerException - se a coleção especificada for null.
See Also:
remove(Object)

removeAll

boolean removeAll(Collection<?> c)
Remove deste set todos seus elementos que estiverem contidos na coleção especificada (operação opcional). Se a coleção especificada for também um set, esta operação efetivamente modifica este set de forma que seu valor passa a ser a diferença de set assimétrica dos dois sets.

Specified by:
removeAll in interface Collection<E>
Parameters:
c - coleção que define quais elementos devem ser removidos deste set.
Returns:
true se este set for alterado como resultado da chamada.
Throws:
UnsupportedOperationException - se o método removeAll não for suportado por esta coleção.
ClassCastException - se os tipos de um ou mais elementos neste set forem incompatíveis com a coleção especificada (opcional).
NullPointerException - se este set contiver um elemento null e a coleção especificada não suportar elementos null (opcional).
NullPointerException - se a coleção especificada for null.
See Also:
remove(Object)

clear

void clear()
Remove todos os elementos deste set (operação opcional). Este set deve estar vazio após o retorno desta chamada (ao menos que uma exceção seja lançada).

Specified by:
clear in interface Collection<E>
Throws:
UnsupportedOperationException - se o método clear não for suportado por este set.

equals

boolean equals(Object o)
Compara por igualdade o objeto especificado com este set. Retorna true se o objeto especificado for também um set, os dois sets tiverem o mesmo tamanho, e todo membro do set especificado estiver contido neste set (ou equivalentemente, todo membro deste set estiver contido no set especificado). Esta definição assegura que o método equals funcione apropriadamente entre diferente implementações da inteface set.

Specified by:
equals in interface Collection<E>
Overrides:
equals in class Object
Parameters:
o - Objeto a ser comparado por igualdade com este set.
Returns:
true se o objeto especificado for igual a este set.
See Also:
Object.hashCode(), Hashtable

hashCode

int hashCode()
Retorna o valor do código hash para este set. O código hash de um set é definido como a soma dos códigos hash dos elementos neste set, onde o código hash de um elemento null é definido como zero. Isto assegura que s1.equals(s2) implica que s1.hashCode()==s2.hashCode() para quaisquer dois sets s1 e s2, como requirido pelo contrato geral do método Object.hashCode.

Specified by:
hashCode in interface Collection<E>
Overrides:
hashCode in class Object
Returns:
o valor do código hash para este set.
See Also:
Object.hashCode(), Object.equals(Object), equals(Object)

JavaTM 2 Platform
Standard Ed. 5.0

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

Copyright 2006 Sun Microsystems, Inc. Todos os direitos reservados. O uso está sujeito aos termos da licensa.