sábado, 13 de maio de 2017

ArrayList - o método swap

Querer trocar posições de elementos num ArrayList
é totalmente possível, e algumas vezes até necessário.
Os criadores do java pensaram em tudo,
e quase tudo sempre muito fácil de implementar.
Trago agora o método swap que também pertence
a classe Collections, ele é responsável por
este trabalho desde que os dois valores estejam
incluídos dentro da lista, se qualquer um dos
dois não estiverem presente uma surpresa desagradável
do java será lançado, avisando que um dos índices
não se encontram na lista.

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.Collections;

public class PROJETO {
     public static void main ( String args [ ] ) {
         J jht = new J ( );
         jht.textbackground ( jht.WHITE );
         jht.Moldura ( ( short ) 1, ( short ) 24, ( short ) 2, ( short ) 68 );
         jht.title ( " " );
         int i;
         ArrayList < String > arrList = new ArrayList <> ( Arrays.asList (
                   "Mansão do Rei bendito, São doze tuas portas",
                   "Que sempre são transpostas Por seres imortais;",
                   "Teus livros têm escritos Os nomes dos remidos;",
                   "Em ti, serão ouvidos Os hinos celestiais." ) );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 22, ( short ) 3 );
         System.out.printf ( "ARRAYLIST - O MÉTODO SWAP" );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( short ) 18, ( short ) 5 );
         System.out.printf ( "Abaixo a impressão normal do ArrayList" );
         // ////////////////////////////////////////////
         jht.gotoxy ( ( int ) 18, ( int ) 7 );
         jht.textcolor ( jht.BLACK );
         for ( i = 0; i < arrList.size ( ); i++ ) {
              if ( i == 0 )
                   jht.gotoxy ( ( int ) 10, ( int ) 7 );
              if ( i == 1 )
                   jht.gotoxy ( ( int ) 10, ( int ) 8 );
              if ( i == 2 )
                   jht.gotoxy ( ( int ) 10, ( int ) 9 );
              if ( i == 3 )
                   jht.gotoxy ( ( int ) 10, ( int ) 10 );
              System.out.print ( " " );
              System.out.printf ( arrList.get ( i ) );
         }
         jht.getche ( );
         // Trocando a posição 0 pela posição 2
         Collections.swap ( arrList, 0, 2 );
         // ////////////////////////////////////////////
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( short ) 10, ( short ) 12 );
         System.out.printf ( "ArrayList com a posição" );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( " 0" );
         jht.textcolor ( jht.LIGHTBLUE );
         System.out.printf ( " trocada pela posição" );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( " 2" );
         jht.textcolor ( jht.LIGHTMAGENTA );
         for ( i = 0; i < arrList.size ( ); i++ ) {
              if ( i == 0 )
                   jht.gotoxy ( ( int ) 10, ( int ) 14 );
              if ( i == 1 )
                   jht.gotoxy ( ( int ) 10, ( int ) 15 );
              if ( i == 2 )
                   jht.gotoxy ( ( int ) 10, ( int ) 16 );
              if ( i == 3 )
                   jht.gotoxy ( ( int ) 10, ( int ) 17 );
              System.out.print ( " " );
              System.out.print ( arrList.get ( i ) );
         }
         // ////////////////////////////////////////////
         jht.textbackground ( jht.WHITE );
         jht.Sleep ( ( short ) 1800 );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( short ) 23, ( short ) 19 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.LIGHTBLUE );
         System.out.printf ( "Samuel Lima" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( short ) 23, ( short ) 20 );
         System.out.printf ( "sa_sp10@hotmail.com" );
         jht.Sleep ( ( short ) 1800 );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 29, ( short ) 22 );
         System.out.printf ( "MUITO OBRIGADO" );
         jht.getche ( );
     }
}

Nenhum comentário:

Postar um comentário

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