sábado, 20 de maio de 2017

HashSet - simples exemplo

Na hierarquia de coleções, a interface Collection
ocupa a primeira posição, sendo suas descendentes,
as interfaces Set, Queue ( filas ) e List ( listas ).
Já mencionei em tópicos passados que a interface Set
não aceita valores duplicados, bem diferente de
List que permite que seus elementos sejam repetidos.
Neste Exemplo que trago agora mostraremos como usar HashSet,
já com uma inicialização não muito clássica,
mas muito útil para o que queremos mostrar,
que na verdade é a principal diferença entre
Set e list ambas da classe Collections
que são membros do pacote java.util.

Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:



import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class PROJETO {

     public static void main ( String [ ] args ) {
         J jht = new J ( );
         //superior, inferior, esquerda, direita, cor de fundo
         jht.Moldura ( 1, 24, 2, 68, 15 );
         jht.title ( " " );
         int i;
         boolean x = false;
         //Inicializando o HashSet
         Set < String > frutas = new HashSet < String > ( Arrays.asList (
                   "Figo",
                   "Banana",
                   "Damasco",
                   "Caqui",
                   "Amora" ));
         //////////////////////////////////////////////////////
         //Coord x, Coord y, cor de frente, cor de fundo
         jht.poscolor ( 23, 2, 12, 15 );
         System.out.printf ( "HASHSET - SIMPLES EXEMPLO" );
         jht.poscolor ( 15, 4, 9, 15 );
         System.out.print ( "Abaixo a impressão dos valores do hashSet" );
         jht.poscolor ( 17, 6, 12, 15 );
         System.out.print (  frutas );
         //////////////////////////////////////////////////////
         jht.poscolor ( 12, 8, 9, 15 );
         System.out.print ( "Tentando inserir um valor já existente no HashSet" );
         jht.poscolor ( 12, 9, 9, 15 );
         System.out.print ( "Podemos inserir a fruta " );
         jht.poscolor ( 36, 9, 12, 15 );
         System.out.print ("Figo ");
         jht.poscolor ( 41, 9, 9, 15 );
         System.out.print ("no HashSet ? => " );
         jht.textcolor ( 12 );
         System.out.print ( x = frutas.add ( "Figo" ) );
         //Convertendo o HashSet em ArrayList
         //Ou inicializando o ArrayList com os valores do HashSet
         List < String > arrList = new ArrayList <  > ( frutas );
         jht.poscolor ( 16, 11, 9, 15 );
         System.out.printf ( "Abaixo a impressão normal do ArrayList" );
         // ////////////////////////////////////////////
         jht.poscolor ( 16, 13, 0, 15 );
         for ( i = 0; i < arrList.size ( ); i++ ) {
              System.out.printf ( arrList.get ( i ) );
              System.out.print ( " " );
         }
         //////////////////////////////////////////////////////
         jht.getche ( );
         jht.poscolor ( 12, 15, 0, 15 );
         System.out.print ( "Tentando inserir um valor já existente no ArrayList" );
         jht.poscolor ( 12, 15, 9, 15 );
         System.out.print ( "Podemos inserir a fruta " );
         jht.poscolor ( 36, 15, 12, 15 );
         System.out.print ("Figo ");
         jht.textcolor ( 9 );
         System.out.print ("no ArrayList ? => " );
         jht.textcolor ( 12 );
         System.out.print ( x = arrList.add ( "Figo" ) );
         jht.poscolor ( 12, 17, 9, 15 );
         System.out.printf ( "ArrayList com elemento ");
         jht.poscolor ( 35, 17, 12, 15 );
         System.out.print ("Figo ");
         jht.poscolor ( 40, 17, 9, 15 );
         System.out.print ("novamente adicionado " );
         // ////////////////////////////////////////////
         jht.poscolor ( 16, 19, 12, 15 );
         for ( i = 0; i < arrList.size ( ); i++ ) {
              System.out.printf ( arrList.get ( i ) );
              System.out.print ( " " );
         }
         //////////////////////////////////////////////////////
        //Parâmetros da função printfx
        //Coord x, Coord y, String, cor de frente, cor de fundo,
        //Comprimento, Tempo, frequência, duração.
         jht.printfx ( 23, 21, "Por: ", 12, 15, 5, 0, 1000, 200 );
         jht.printfx ( 28, 21, "Samuel Lima", 9, 15, 11, 0, 0, 0 );
         jht.printfx ( 29, 23, "MUITO OBRIGADO", 12, 15, 15, 1800, 0, 0 );
         jht.getche ( );
     }
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.