Utilizandoos Conjuntos Apostagem dehoje epara dar continuidade a postagem de segunda-feira sobre conjuntosvaiser possovelmente minha maior postagem ate o momento neste blog masa ideiae mostrar todasas classes apresentadas no post anterior em exemplos de codigoparaaprendemosmelhoro que ateentao seencontra nateoria. Comecarei sendo breve mostrandodiferencas entre array e arrayList, algumas alteracoes queocorreram entre a linguagem java 4 e 5 que afetaram na declaracaode conjuntos que e a utilizacao de genericos em uma declaracaode lista. Falarei sobre formas de seclassificar uma lista usando a classe Collections paraconjuntos primitivos e asinterfaces Comparablee Comparator queserao usadas na classificacao personalizadade objetos. Conversoesentre Array e Listas seraoutro assinto abordado pela necessidade de utilizarvarias formas de conjuntoscom as interfacesList, Sets, Map e Queue. Finalizando com um pequeno comparativo entreelas. Espero que gostem do post e que possatrazer algum aprendizado a voces como pra mim. Colocarei no final olink do gitHub como sempre para caso alguem queira baixar os codigos.Fundamentosde Arraylist OArrayList e o array oferecem funcionalidades e facilidades muitosimilares por serem um objeto que possui como finalidade armazenarvarios outros objetos. Apesar de suas familiaridades, elas possuemdiferecas que devem ser distacadas como o crescimento dinamico daArraylist e varios metodos que facilitam seu manuseio comoadicionar, remover, editar e buscar um elemento o que nao eoferecido pelo Array. Coma chegada da versao cinco do java, foi acrescido osgenericos que disponibilizadouma nova forma de declaracaode um conjunto.Os genericos facilitarambastante ao desenvolvedor quanto a seguranca de seus conjuntosna aplicacao everemos isso adiante.Antesde tudo, vamos ver como era antesda versao java 5 adeclaracaode um arrayList:ArrayListlistaDeStrings= newArrayList(); Naoe facil sabermos do que e esta lista correto? Pode ser uma listade mil coisas diferentes como texto, inteiros, objetos... Agoravejamos a nova forma:ArrayList<String>listaDeStrings= newArrayList<String>(); Gostou?Legal ne? Veja quepodemos identificar oque esta lista tera em seu conteudo. Mais facil concorda? E claroque estas alteracoes feitas em java 5, nao impactam em todos oscodigos ja desenvolvidos antesem outras versoes. Ainda epossivel trabalharmos da forma antiga e o maximo que ira ocorrerem caso de voce utilizar a forma antiga de se codificar em umambiente de java 5 ou posteriore uma mensagem de atencaoao compilar seu codigo. Mesmo assim ele ira compilar e gerara oarquivo <NomeDaClasse>.class semsustos como previsto.As alteracoesna declaracao de um conjunto, nosdeixa maistranquilos qunato a boxing devariaveis pois isto sera feito automaticamente uma vez que ocompilador ja sabe o que a lista contem.Exemplos: List<Integer>nums= newArrayList<Integer>(); //versao5 nums.add(5);//versao5 ListnumsV4= newArrayList();//declarandona versao4 numsV4.add(newInteger(4));//versao4 System.out.println(nums);//OK System.out.println(numsV4);//??Saida:[5][4] Valeressaltar que na linha onde adicionamos o valor 4 ao array numsV4 euma simulacao que devera ser adicionado quando um elementoutilizando a versao 4 do java for acrescido a uma lista. Pois seutilizamos o compilador java 1.5 em diante, nao sera problemanenhum colocarmos somente o algorismo 4.ClassificandoConjuntos Ecomum sempre que formos trabalharmos com conjuntos, necessitarmosclasificacar de alguma formanossos conjuntos comoalfabetica, numerica dentre outras.Quando armazenamos valores primitivos em conjuntos, no nosso casoArrayList, e bem simplesrealizar esta classificacao conformeabaixo: List<String>placesToSurf= newArrayList<String>(); placesToSurf.add("Fernandode Noronha"); placesToSurf.add("Lima"); placesToSurf.add("Piura"); placesToSurf.add("PuntaHermosa"); placesToSurf.add("PuntaRocas"); placesToSurf.add("Senhoritas"); placesToSurf.add("Caballeros"); placesToSurf.add("LaIsla"); System.out.println(placesToSurf); Collections.sort(placesToSurf); System.out.println(placesToSurf);Saida:[Fernandode Noronha, Lima, Piura, Punta Hermosa, Punta Rocas, Senhoritas,Caballeros, La Isla][Caballeros,Fernando de Noronha, La Isla, Lima, Piura, Punta Hermosa, PuntaRocas, Senhoritas] Podemosver logo na primeira linha que