Módulo 9 Strings , Coleções e I/O CURSO JAVA BÁSICO Módulo 9 – slide 1 Objetivos Após concluir este módulo você estará apto a: • Utilizar Strings e StringBuilders em seus programas; • Usar corretamente os métodos disponíveis em ambas as classes; • Concatenar Strings; •Utilizar, de forma correta, a API de coleções Java. CURSO JAVA BÁSICO Módulo 9 – slide 2 A classe String • Objetos String são sequências de caracteres Unicode. • Métodos que criam novas Strings: concat(), replace(),substring(), toLowerCase(), toUpperCase() and trim(). • Métodos de pesquisa: endsWith(), startsWith(), indexOf() e lastIndexOf(). • Métodos de comparação: equals(), equalsIgnoreCase() e compareTo(). • Outros métodos: charAt() e length(). • Exemplo: String s = new String("hello"); // use String constructors String s1 = new String(); String s2 = new String( s ); CURSO JAVA BÁSICO Módulo 9 – slide 3 A classe StringBuilder • Objetos StringBuilder também são sequências de caracteres Unicode. • Normalmente são utilizados para criar e manipular Strings dinamicamente; • Construtores: – StringBuilder() cria um buffer vazio. – StringBuilder(int capacidade) cria um buffer vazio com capacidade inicial especificada. – StringBuilder(String initialString) cria um buffer que inicia com a string especificada. • Operações de modificação: append(), insert(), reverse(), setLength() e setCharAt(). CURSO JAVA BÁSICO Módulo 9 – slide 4 Strings - concatenação • Concatenação usando “+”: String nome = “James”; nome += “ Gosling”; String to = “to”; to.concat(“get”).concat(“her”) = “together” String s = new String("to").concat("get").concat("her"); • Mas é melhor usar a classe StringBuilder: StringBuilder buffer = new StringBuilder(“James”); buffer.append(“ Gosling”); CURSO JAVA BÁSICO Módulo 9 – slide 5 Strings - comparação • Não se pode usar o operador ==. • == compara referências de objetos e não o conteúdo do objeto. • método equals(): String nome = “alexandre”; if(nome == “alexandre”);//retorna false if(nome.equals(“alexandre”));//retorna true if(nome.equalsIgnoreCase(“AlExAnDrE”)); //retorna true nome.compareTo(“alexandre”); //retorna 0 CURSO JAVA BÁSICO Módulo 9 – slide 6 A classe String - Exercício • Declare duas variáveis do tipo String e efetue as seguintes operações sobre elas, exibindo o resultado na console: – Concatene-as usando o operador +; – Concatene-as usando o método concat(); – Exiba uma parte da String concatenada; – Exiba a String concatenada em letras maiúsculas e minúsculas; – Teste se as variáveis declaradas são iguais; • Repita as operações, usando StringBuffer. CURSO JAVA BÁSICO Módulo 9 – slide 7 A API de Coleções • Uma coleção é um objeto que agrupa outros tipos de objetos, conhecido pelo tipo dos seus elementos. • A API de coleções contém interfaces para agrupar objetos como: – Collection grupo de objetos chamados de elementos. – Set coleção não-ordenada. Duplicidade não é permitida. – List coleção ordenada. Duplicidade é permitida. – Vector implementa a interface List. CURSO JAVA BÁSICO Módulo 9 – slide 8 A API de Coleções CURSO JAVA BÁSICO Módulo 9 – slide 9 Set - exemplo Saída: CURSO JAVA BÁSICO Módulo 9 – slide 10 List - exemplo Saída: CURSO JAVA BÁSICO Módulo 9 – slide 11 Iterators • Iteração é o processo de captura de cada elemento em uma coleção. • Um Iterator de Set não é ordenado. • Um ListIterator de uma List pode percorrer para frente(usando método next()) ou para trás(usando método previous()). CURSO JAVA BÁSICO Módulo 9 – slide 12 Iterators CURSO JAVA BÁSICO Módulo 9 – slide 13 List - exercício • Crie uma lista; • Adicione 5 elementos do tipo Aluno, cada um com sua respectiva matrícula e nome; • Exiba um dos Alunos na console, mostrando: ||<matricula>||<nome> • Percorra toda a lista, exibindo as matrículas e nomes dos Alunos, como acima. CURSO JAVA BÁSICO Módulo 9 – slide 14 Vector - exemplo Vector nomes = new Vector(); nomes.addElement(“Joris”); nomes.addElement(“Andre”); nomes.addElement(“Mauricio”); nomes.addElement(“Sheila”); System.out.println(nomes); Saída: [Joris,Andre,Mauricio,Sheila] CURSO JAVA BÁSICO Módulo 9 – slide 15 Vector - exemplo for (int i = 0; i < nomes.size(); i++) { //Object obj = (Object)nomes.elementAt(i); String nome = (String)nomes.elementAt(i); } Caso o elemento seja um array ou uma coleção, acessamos cada item através do método get(); • String[] nome = (String)nomes.elementAt(i); System.ou.println(nome.get(0)+nome.get(1)); CURSO JAVA BÁSICO Módulo 9 – slide 16 Vector - exercício • Crie um Array com 3 elementos do tipo String: “ID”,”CODIGO”,”DESCRICAO”; • Crie um Vector e adicione os elementos do Array; • Crie um novo Array, da mesma forma, diferenciando os elementos com o numeral 1; • Adicione os elementos do Array ao Vector; • Crie outro Array, idem aos anteriores, adicionando os elementos ao Vector; • Exiba o conteúdo do Vector; • Exiba o conteúdo do segundo elemento; • Exiba o conteúdo dos itens do primeiro elemento; • Percorra o Vector e exiba o conteúdo dos itens dos elementos. CURSO JAVA BÁSICO Módulo 9 – slide 17