conceito
Primeiro, vamos dar uma olhada na coleção Set.
(01) o conjunto é uma interface herdada da coleção. É uma coleção que não permite elementos duplicados.
(02) AbstractSet é uma classe abstrata, que herda da abstrataCollection. AbstractCollection implementa a maioria das funções no conjunto, proporcionando conveniência para as classes de implementação.
(03) Hastset e TreeSet são duas classes de implementação do conjunto.
O hashset depende do hashmap, que é realmente implementado através do hashmap. Os elementos no hashset estão fora de ordem.
O TreeSet depende do TREEMAP, que é realmente implementado através do Treemap. Os elementos em Treeset são ordenados.
por exemplo:
Vamos dar uma olhada na utilização de coleções definidas, atravessando violações:
pacote com.sort; importar java.util.hashset; importar java.util.iterator; importar java.util.set; /*** Uma coleção que não contém elementos duplicados. Mais especificamente, o conjunto não contém elementos que satisfazem o e1.equals (e2), e1 e e2, * @author proprietário * */ public class SettStest2 {public static void main (string [] args) {set <string> set = new HashSet <String> (); set.add ("A"); set.add ("b"); set.add ("c"); set.add ("d"); set.add ("e"); set.add ("e"); set.add ("e"); // Os dados duplos não podem ser colocados em/*** Método Traversal 1, Traversal iterativo*/for (iterator <string> iterator = set.iterator (); iterator.hasnext ();) {System.out.print (iterator.next ()+""); } System.out.println (); System.out.println ("************************"); / *** Para travessia de loop aprimorada*/ for (String Value: set) {System.out.print (value+""); }}} Nota: O tipo de string é colocado na coleção de conjuntos. Se colocarmos uma instância de classe que definimos, como uma instância de classe de pessoa, precisamos re-hashcode e igualar métodos e reescrevê-los com nossos próprios campos-chave, porque, ao usar o hashset, o método HashCode () será chamado para determinar o valor adicionado; Se for inconsistente, adicione -o diretamente; Se for consistente, compare o método igual. Se o método Equals retornar verdadeiro, significa que o objeto foi adicionado e nenhum novo objeto será adicionado, caso contrário, será adicionado.