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 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.TreeSet<E>
public class TreeSet<E>
Esta classe implementa a interface Set, suportado por uma instância de TreeMap. Esta classe garante que o sorted set estará em ordem de elemento ascendente, classificado de acordo com o ordenamento natural dos elementos (veja Comparable), ou de acordo com comparador fornecido no momento de criação do set, dependendo de qual construtor for usado.
Esta implementação fornece custo de tempo log(n) garantido para as operações básicas (add, remove e contains).
Note que o ordenamento mantido por um sorted set (mesmo que um comparador seja fornecido) precisa ser consistente com equals se for para implementar corretamente a interface Set. (Veja a inteface Comparable ou a interface Comparator para uma definição precisa de consistente com equals.) Isto porque a interface Set é definida em termos da operação equals, mas uma instância de TreeSet pratica todas as comparações de key usando seus métodos compareTo (ou compare), de forma que duas keys que são consideradas iguais por esse método são, do ponto de vista do set, iguais. O comportamento de um set é bem definido mesmo se este ordenamento for inconsistente com equals; ele apenas falha em obedecer o contrato geral da interface Set.
Note que esta implementação não é sincronizada. Se múltiplas threads acessam um set concorrentemente, e pelo menos uma dessas threads modifica o set, este precisa ser sincronizado externamente. Isto pode ser feito sincronizando no objeto que possa vir a encapsular o set. Se não existir esse objeto, o set deve ser "embalado" usando o método Collections.synchronizedSet. Isto é melhor feito no tempo de criação, para previnir um acesso acidental, sem sincronismo, ao set:
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
Os Iteratores retornados pelo método iterator são fail-fast: se o set for modificado após a criação do iterator, de qualquer maneira exceto através do próprio método remove do iterator, este deve lançar uma ConcurrentModificationException. Assim, no caso de uma modificação concorrente, o iterator falha rápida e claramente, ao invés de arriscar um comportamento arbitrário e de difícil determinação posterior.
Note que o comportamento fail-fast de um iterator não pode ser garantido já que, geralmente falando, é impossível garantir algo na presença de modificação concorrente sem sincronismo. Iteratores fail-fast fazem o possível para lançar ConcurrentModificationException. Conseqüentemente, deveria ser errado escrever um programa que dependa desta exceção para o seu correto funcionamento: o comportamento fail-fast dos iteratores deve ser usado apenas para detectar bugs
Esta classe é um membro do Java Collections Framework.
Collection,
Set,
HashSet,
Comparable,
Comparator,
Collections.synchronizedSortedSet(SortedSet),
TreeMap,
Serialized Form| Constructor Summary | |
|---|---|
TreeSet()
Constrói um novo set, vazio, classificado de acordo com o ordenamento natural dos elementos. |
|
TreeSet(Collection<? extends E> c)
Constrói um novo set contendo os elementos da coleção especificada, classificados de acordo com o ordenamento natural destes elementos. |
|
TreeSet(Comparator<? super E> c)
Constrói um novo set, vazio, classificado de acordo com o comparador especificado. |
|
TreeSet(SortedSet<E> s)
Constrói um novo set contendo os mesmos elementos do sorted set especificado, classificado de acordo com o mesmo ordenamento. |
|
| Method Summary | |
|---|---|
boolean |
add(E o)
Adiciona o elemento especificado neste set se ele já não estiver presente. |
boolean |
addAll(Collection<? extends E> c)
Adiciona neste set todos os elementos da coleção especificada. |
void |
clear()
Remove todos os elementos deste set. |
Object |
clone()
Retorna uma cópia raza desta instância de TreeSet. |
Comparator<? super E> |
comparator()
Retorna o comparador usado para classificar este sorted set, ou null se este tree set usa ordenamento natural de seus elementos. |
boolean |
contains(Object o)
Retorna true se este set contiver o elemento especificado. |
E |
first()
Retorna o primeiro (inferior) elemento atualmente neste sorted set. |
SortedSet<E> |
headSet(E toElement)
Retorna uma visão da porção deste sorted set cujo elementos são estritamente menores que toElement. |
boolean |
isEmpty()
Retorna true se este set não contiver elementos. |
Iterator<E> |
iterator()
Retorna um iterator sobre os elementos neste set. |
E |
last()
Retorna o último (superior) elemento atualmente neste sorted set. |
boolean |
remove(Object o)
Remove o elemento especificado deste set se ele estiver presente. |
int |
size()
Retorna o número de elementos neste set (sua cardinalidade). |
SortedSet<E> |
subSet(E fromElement,
E toElement)
Retorna uma visão da porção deste sorted set cujo elementos vão de fromElement, inclusive, até toElement, exclusivo. |
SortedSet<E> |
tailSet(E fromElement)
Retorna uma visão da porção deste sorted set cujo elementos são maiores ou iguais à fromElement. |
| Methods inherited from class java.util.AbstractSet |
|---|
equals, hashCode, removeAll |
| Methods inherited from class java.util.AbstractCollection |
|---|
containsAll, retainAll, toArray, toArray, toString |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Set |
|---|
containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray |
| Constructor Detail |
|---|
public TreeSet()
Comparablepublic TreeSet(Comparator<? super E> c)
c - o comparador a ser usado para classificar este set. Um
valor null indica que o ordenamento natural dos elementos
deve ser usado.public TreeSet(Collection<? extends E> c)
c - Os elementos que devem formar o novo set.
ClassCastException - se as keys na coleção especificada não forem
comparáveis, ou mutuamente comparáveis.
NullPointerException - se a coleção especificada for null.public TreeSet(SortedSet<E> s)
s - sorted set cujo elementos devem formar o novo set.
NullPointerException - se o sorted set especificado for null.| Method Detail |
|---|
public Iterator<E> iterator()
iterator in interface Iterable<E>iterator in interface Collection<E>iterator in interface Set<E>iterator in class AbstractCollection<E>public int size()
size in interface Collection<E>size in interface Set<E>size in class AbstractCollection<E>public boolean isEmpty()
isEmpty in interface Collection<E>isEmpty in interface Set<E>isEmpty in class AbstractCollection<E>public boolean contains(Object o)
contains in interface Collection<E>contains in interface Set<E>contains in class AbstractCollection<E>o - objeto cuja presença neste set deve ser testada.
ClassCastException - se o objeto especificado não puder ser comparado
com os elementos atualmente neste set.public boolean add(E o)
add in interface Collection<E>add in interface Set<E>add in class AbstractCollection<E>o - elemento a ser adicionado neste set.
ClassCastException - se o objeto especificado não puder ser comparado
com os elementos atualmente neste set.public boolean remove(Object o)
remove in interface Collection<E>remove in interface Set<E>remove in class AbstractCollection<E>o - objeto a ser removido deste set, se presente.
ClassCastException - se o objeto especificado não puder ser comparado
com os elementos atualmente neste set.public void clear()
clear in interface Collection<E>clear in interface Set<E>clear in class AbstractCollection<E>public boolean addAll(Collection<? extends E> c)
addAll in interface Collection<E>addAll in interface Set<E>addAll in class AbstractCollection<E>c - elementos a serem adicionados.
ClassCastException - se os elementos fornecidos não puderem ser comparados
com os elementos atualmente neste set.
NullPointerException - se a coleção especificada for null.AbstractCollection.add(Object)
public SortedSet<E> subSet(E fromElement,
E toElement)
O sorted set retornado por este método deve lançar uma IllegalArgumentException se o usuário tentar inserir um elemento fora dos limites especificados.
Nota: este método sempre retorna uma coleção meia-aberta (que inclui seu limite inferior mas não seu limite superior). Se você necessita uma coleção fechada (que inclui ambos os extremos), e o tipo do elemento permite o cálculo do sucessor de um dado valor, simplesmente solicite a partir do limiteInferior até sucessor(limiteSuperior). Por exemplo, suponhamos que s seja um sorted set de strings. O idioma a seguir obtém uma visão contendo todas as strings em s de inferior até superior, inclusive:
SortedSet sub = s.subSet(inferior, superior+"\0");Uma técnica similar pode ser usada para gerar uma coleção aberta (que não contém os extremos). O idioma a seguir obtém uma visão contendo todas as strings em s de inferior até superior, exclusivo:
SortedSet sub = s.subSet(inferior+"\0", superior);
subSet in interface SortedSet<E>fromElement - limite inferior (inclusive) do subSet.toElement - limite superior (exclusivo) do subSet.
ClassCastException - se fromElement e
toElement não puderem ser comparados um com o outro
usando o comparador deste set (ou, se o set não tiver comparador,
usando ordenamento natural).
IllegalArgumentException - se fromElement for maior que
toElement.
NullPointerException - se fromElement ou
toElement for null e este set usa ordenamento
natural, ou seu comparador não tolera elementos null.public SortedSet<E> headSet(E toElement)
O sorted set retornado por este método deve lançar uma IllegalArgumentException se o usuário tentar inserir um elemento maior ou igual a toElement.
Nota: este método sempre retorna uma visão que não contém seu limite superior. Se você necessita uma visão que contenha este limite superior, e o tipo do elemento permite o cálculo do sucessor de um dado valor, simplesmente solicite um headSet limitado por sucessor(limiteSuperior). Por exemplo, suponhamos que s seja um sorted set de strings. O idioma a seguir obtém uma visão contendo todas as strings em s que são menores que, ou igual à superior:
SortedSet head = s.headSet(superior+"\0");
headSet in interface SortedSet<E>toElement - limite superior (exclusivo) do headSet.
ClassCastException - se toElement não for compatível
com o comparador deste set (ou, se o set não tiver comparador,
se toElement não implementar Comparable).
IllegalArgumentException - se este set for ele próprio um subSet,
headSet, ou tailSet, e toElement não estiver dentro
do limite especificado para o subSet, headSet, or tailSet.
NullPointerException - se toElement for null e
este set usa ordenamento natural, ou seu comparador não
tolera elementos null.public SortedSet<E> tailSet(E fromElement)
O sorted set retornado por este método deve lançar uma IllegalArgumentException se o usuário tentar inserir um elemento menor que fromElement.
Nota: este método sempre retorna uma visão que contém seu limite inferior. Se você necessita uma visão que não contenha este limite inferior, e o tipo do elemento permite o cálculo do sucessor de um dado valor, simplesmente solicite um tailSet limitado por sucessor(limiteInferior). Por exemplo, suponhamos que s seja um sorted set de strings. O idioma a seguir obtém uma visão contendo todas as strings em s que forem estritamente maiores que inferior:
SortedSet tail = s.tailSet(inferior+"\0");
tailSet in interface SortedSet<E>fromElement - limite inferior (inclusive) do tailSet.
ClassCastException - se fromElement não for compatível
com o comparador deste set (ou, se o set não tiver comparador,
se fromElement não implementar Comparable).
IllegalArgumentException - se este set for ele próprio um subSet,
headSet, or tailSet, e fromElement não estiver dentro
do limite especificado para o subSet, headSet, or tailSet.
NullPointerException - se fromElement for null
e este set usa ordenamento natural, ou seu comparador não
tolera elementos null.public Comparator<? super E> comparator()
comparator in interface SortedSet<E>public E first()
first in interface SortedSet<E>NoSuchElementException - caso sorted set esteja vazio.public E last()
last in interface SortedSet<E>NoSuchElementException - caso sorted set esteja vazio.public Object clone()
clone in class ObjectCloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
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.