TreeSet é considerado uma das implementações de SortedSet mais fundamentais que usam uma árvore como seu tipo de armazenamento principal. Em um TreeSet, cada valor é armazenado na sequência classificada. Por padrão, todos os valores numéricos são retidos em ordem crescente e as strings são tratadas em ordem baseada no dicionário. O TreeSet mantém a ordem crescente e baseada no dicionário, independentemente de o comparável ser especificado ou não. Para implementar corretamente a interface Set, TreeSet deve ser consistente com comparável. Além disso, valores nulos não são aceitáveis no TreeSet.
Exemplo 1
O método add() é necessário para adicionar os elementos dentro do TreeSet. O elemento especificado será adicionado utilizando a mesma sequência de classificação de quando o TreeSet é criado. Ele não adicionará entradas duplicadas.
Dentro do código anterior, inserimos a classe utilitária de Java para acessar as classes e métodos de Java. Em seguida, o método main() é incluído na definição da classe “CreatingTreeSet”. Testamos o código TreeSet dentro do método main(). Primeiro criamos uma variável “pessoa” da classe TreeSet e definimos a interface TreeSet vazia na variável declarada “pessoas”.
Observe que adicionamos apenas os elementos de string porque o tipo de dados do TreeSet é especificado no momento da criação de sua interface. Inserimos cinco elementos string no TreeSet, onde cada elemento string é único. Em seguida, percorremos cada elemento do TreeSet a partir do método iterator(), que será impresso em ordem crescente na tela de saída.
Os elementos criados usando a interface TreeSet são buscados como saída no seguinte snap de saída:
Exemplo 2
Depois de criar o TreeSet, os elementos podem ser acessados usando o método interno suportado pelo TreeSet. O método contains() verifica o elemento específico no TreeSet. O método first() recupera o elemento inicial do TreeSet, enquanto o método last() recupera o elemento final do TreeSet.
Após importar a classe utilitária, definimos uma classe “AccessingTreeSet”. Em seguida, implementamos o método main() na classe Java especificada para acessar os elementos TreeSet. Declaramos um objeto “Colors” do tipo NavigableSet com referência à classe TreeSet. O TreeSet() está vazio, que é adicionado com os valores de string invocando o método add(). Aqui, adicionamos três valores de string, o nome das diferentes cores. Depois disso, os valores de TreeSet serão exibidos na tela por meio da instrução print. Em seguida, criamos uma variável “find” onde a string é inicializada para verificar. Para verificar se a string existe nas árvores fornecidas, chamamos o método contains() e adicionamos a variável “find” como parâmetro. O método Contains() verifica a existência do elemento string especificado do TreeSet e gera os resultados booleanos. Além disso, também obtivemos o primeiro e o último elemento no TreeSet do método first() e do método last(). Ambos os métodos geram o elemento específico colocado na primeira e na última posição no TreeSet fornecido.
A verificação da string específica do método contains() retorna o valor verdadeiro, que mostra que o elemento string faz parte do método contains(). Em seguida, o primeiro valor e o último valor do TreeSet também são exibidos abaixo:
Exemplo 3
O primeiro e o último elemento foram acessados no exemplo anterior. Para acessar e eliminar os elementos mais altos e mais baixos, o método pollFirst() e pollLast() é usado. O método pollFirst() é usado para recuperar e remover o elemento mais baixo do primeiro. O método pollLast() é aplicado para localizar e eliminar o elemento mais alto do último do TreeSet.
O programa é estabelecido com a classe Java “LowerAndHigherValueFromTreeSet” onde o método main() é construído. Aqui, fornecemos a interface TreeSet da classe TreeSet declarando o objeto “IntegerSet”. Inicialmente, criamos um TreeSet vazio que pode ser adicionado com o elemento empregando o método add(). Os itens Integer são carregados no TreeSet usando o método add().
Depois disso, fornecemos uma instrução de impressão usando o método pollFirst() e pollLast(). O método pollFirst() obtém os primeiros elementos mais baixos do TreeSet especificado. Por outro lado, o método pollLast() obtém o elemento mais alto do último TreeSet.
Os resultados são obtidos dos métodos pollFirst() e pollLast() que exibem o elemento mais baixo e mais alto do TreeSet na saída.
Exemplo 4
O método clear() é usado para limpar todos os elementos presentes no TreeSet. O TreeSet vazio é retornado assim que o método clear() é implementado no TreeSet.
A classe pública “ClearTreeSet” é definida com o método main() no programa anterior. Geramos o TreeSet vazio lá, que é definido na variável de classe “SetElements” do TreeSet. Em seguida, inserimos os números aleatórios com a ajuda do método add() dentro do TreeSet. Em seguida, imprimimos o TreeSet para mostrar os elementos dentro dele. Após a exibição, empregamos o método clear() para limpar o TreeSet.
Exemplo 5
O TreeSet não permitirá a adição de elementos heterogêneos. Se tentarmos adicionar objetos heterogêneos da classe, “classCastException” será lançada durante a execução. O treeSet só aceita objetos homogêneos e comparáveis.
Implantamos o método main() dentro da classe Java “HeterogenousObjectTreeSet” onde definimos a interface TreeSet. O TreeSet é definido no objeto “CharSet”. Os elementos são então adicionados ao objeto “CharSet” do TreeSet. Inserimos os elementos comparáveis com a interface StringBuffer. Observe que o último elemento dentro do TreeSet é heterogêneo, que é um valor inteiro. Em seguida, imprimimos os elementos TreeSet para obter os resultados da recuperação do elemento heterogêneo.
Os resultados mostram que o primeiro valor de índice do TreeSet não é exibido, mas todos os elementos do caractere são exibidos na tela devido a objetos comparáveis.
Conclusão
A classe Java TreeSet compreende apenas elementos distintos como HashSet. O TreeSet é a maneira ideal de armazenar grandes quantidades de dados relevantes devido à sua rápida acessibilidade e durações de recuperação, facilitando a rápida descoberta de dados. O documento cobre os fundamentos da classe TreeSet, incluindo sua declaração. Além disso, diferentes métodos e operações também são discutidos aqui.