Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
[05]-Tutorial-POO Vetores, ArrayList e Interfaces/aula5java.rar [05]-Tutorial-POO Vetores, ArrayList e Interfaces/[05]-POO Vetores, ArrayList e Interfaces.docx Tutorial 05 Programação Orientada a Objetos (JAVA) Professor: Jorge Viana Doria Jr, M.Sc. jjunior@unicarioca.edu.br package model; public class Telefone { private String numero; private String tipo; public Telefone(String numero, String tipo) { super(); this.numero = numero; this.tipo = tipo; } public Telefone() { super(); } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } public String getTipo() { return tipo; } public void setTipo(String tipo) { this.tipo = tipo; } } package control; import java.util.ArrayList; import java.util.List; import model.Cliente; public class Principal { public static void main(String[] args) { //Vetor -- Variavel que suporta N valores (pre definidos) //Vetor de idades (int) possui 4 elemeentos --- vai da posição 0 ate 3 int[] idades = new int[4]; idades[0] = 39; idades[1] = 28; idades[2] = 34; idades[3] = 42; //idades[4] = 50; //Erro --- maior que o tamanho do vetor //for tradicionar para imprimir as idades for(int i = 0; i < idades.length; i++){ System.out.println("Idade: " + idades[i]); } System.out.println("-----------------"); //foreach for(int idade : idades){ System.out.println("Idade: " + idade); } Cliente clientes[] = new Cliente[2]; clientes[0] = new Cliente(100, "jose", "jose@ig.com"); clientes[1] = new Cliente(107, "ana", "ana@ig.com"); for(Cliente cli : clientes){ System.out.println("Nome: " + cli.getNome()); System.out.println("E-mail: " + cli.getEmail()); System.out.println("-------------------------"); } /* * List -- Em um list podemos adicionar N valores */ List<String> nomes = new ArrayList<String>(); System.out.println("Tamanho da lista: " + nomes.size()); nomes.add("Jose"); nomes.add("Ana"); nomes.add("Maria"); nomes.add("Cris"); nomes.add("Andre"); nomes.add("Marcio"); nomes.add("Jonas"); System.out.println("Tamanho da lista: " + nomes.size()); for(String nome : nomes){ System.out.println("Nome: " + nome); } //Remover elementos da lista System.out.println("Remove pelo indice: " + nomes.remove(5)); System.out.println("Remove pelo valor: " + nomes.remove("Jonas")); System.out.println("----------------"); for(String nome : nomes){ System.out.println(nome); } System.out.println("Remove Valor:" + nomes.remove("Claudia")); //System.out.println("Remove pelo indice: " + nomes.remove(20)); //ERRO -- Exception //Imprimir os itens com JAVA 8 nomes.forEach( value -> System.out.println( value )); } } package model; import java.util.ArrayList; import java.util.List; public class Cliente { private Integer codigo; private String nome; private String email; /* * Associação --- Relacionamento entre classe TER */ //Cliente TEM 1 Endereco private Endereco endereco; //Cliente TEM Telefones private List<Telefone> telefones; public Cliente(Integer codigo, String nome, String email) { this(); //Chamar o construtor Vazio this.codigo = codigo; this.nome = nome; this.email = email; } public Cliente() { super(); endereco = new Endereco(); telefones = new ArrayList<Telefone>(); } public Endereco getEndereco() { return endereco; } public void setEndereco(Endereco endereco) { this.endereco = endereco; } public List<Telefone> getTelefones() { return telefones; } public void setTelefones(List<Telefone> telefones) { this.telefones = telefones; } public Integer getCodigo() { return codigo; } public void setCodigo(Integer codigo) { this.codigo = codigo; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } package control; import java.util.ArrayList; import java.util.List; import model.Cliente; import model.Telefone; public class Principal { public static void main(String[] args) { //Vetor -- Variavel que suporta N valores (pre definidos) //Vetor de idades (int) possui 4 elemeentos --- vai da posição 0 ate 3 int[] idades = new int[4]; idades[0] = 39; idades[1] = 28; idades[2] = 34; idades[3] = 42; //idades[4] = 50; //Erro --- maior que o tamanho do vetor //for tradicionar para imprimir as idades for(int i = 0; i < idades.length; i++){ System.out.println("Idade: " + idades[i]); } System.out.println("-----------------"); //foreach for(int idade : idades){ System.out.println("Idade: " + idade); } Cliente clientes[] = new Cliente[2]; clientes[0] = new Cliente(100, "jose", "jose@ig.com"); clientes[1] = new Cliente(107, "ana", "ana@ig.com"); for(Cliente cli : clientes){ System.out.println("Nome: " + cli.getNome()); System.out.println("E-mail: " + cli.getEmail()); System.out.println("-------------------------"); } /* * List -- Em um list podemos adicionar N valores */ List<String> nomes = new ArrayList<String>(); System.out.println("Tamanho da lista: " + nomes.size()); nomes.add("Jose"); nomes.add("Ana"); nomes.add("Maria"); nomes.add("Cris"); nomes.add("Andre"); nomes.add("Marcio"); nomes.add("Jonas"); System.out.println("Tamanho da lista: " + nomes.size()); for(String nome : nomes){ System.out.println("Nome: " + nome); } //Remover elementos da lista System.out.println("Remove pelo indice: " + nomes.remove(5)); System.out.println("Remove pelo valor: " + nomes.remove("Jonas")); System.out.println("----------------"); for(String nome : nomes){ System.out.println(nome); } System.out.println("Remove Valor:" + nomes.remove("Claudia")); //System.out.println("Remove pelo indice: " + nomes.remove(20)); //ERRO -- Exception //Imprimir os itens com JAVA 8 nomes.forEach( value -> System.out.println( value )); Cliente cli = new Cliente(290, "Cris", "cris@gmail.com"); //SO E POSSIVEL PQ NOS CONSTRUTORES INSTANCIAMOS AS CLASSES cli.getEndereco().setCidade("Rio de Janeiro"); cli.getEndereco().setBairro("Centro"); cli.getTelefones().add( new Telefone("4567-4568", "RES")); cli.getTelefones().add( new Telefone("98874-4514", "CEL")); System.out.println("----------------------"); System.out.println("Nome: " + cli.getNome()); System.out.println("EMail: " + cli.getEmail()); System.out.println("Cidade: " + cli.getEndereco().getCidade()); System.out.println("Bairro: " + cli.getEndereco().getBairro()); for(Telefone t : cli.getTelefones()){ System.out.println(t.getTipo() + " - " + t.getNumero()); } } } package io; /* * Interface é um contrato -- nao podemos instanciar * apenas definir padrões */ public interface IArquivo { /* * throws Exception --- O metodo é um metodo que pode gerar * Exception, o throws Exception ele obriga a quem * utilizar os metodos abaixo a colocar try/catch */ void abrir()throws Exception; void escrever()throws Exception; void fechar()throws Exception; } package io; import java.io.File; import java.io.FileWriter; public class Arquivo implements IArquivo{ FileWriter fw; @Override public void abrir() throws Exception { //Definir um caminho para o arquivp File f = new File("/opt/aula"); //Se o caminho nao for um diretorio if(!f.isDirectory()){ //CVriar o diretorio f.mkdir(); } fw = new FileWriter(new File(f, "aula5.txt"), true); } @Override public void escrever(String conteudo) throws Exception { fw.write(conteudo); fw.flush(); } @Override public void fechar() throws Exception { fw.close(); } } package model; import java.util.Date; public class Venda { private String titulo; private Double valor; private Date dtVenda; public Venda(String titulo, Double valor, Date dtVenda) { super(); this.titulo = titulo; this.valor = valor; this.dtVenda = dtVenda; } public Venda() { super(); } public String getTitulo() { return titulo; } public void setTitulo(String titulo) { this.titulo = titulo; } public Double getValor() { return valor; } public void setValor(Double valor) { this.valor = valor; } public Date getDtVenda() { return dtVenda; } public void setDtVenda(Date dtVenda) { this.dtVenda = dtVenda; } } package control; import io.Arquivo; import java.text.DateFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import model.Venda; public class Principal2 { public static void main(String[] args) { try{ Venda v1 = new Venda(); v1.setTitulo("Notebook I5 - Black Friday"); v1.setDtVenda(new Date()); v1.setValor(1200.); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); System.out.println(sdf.format(v1.getDtVenda())); DateFormat df = DateFormat.getDateInstance(DateFormat.FULL); System.out.println(df.format(v1.getDtVenda())); DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT); System.out.println(df1.format(v1.getDtVenda())); Locale lc = new Locale("pt", "br"); NumberFormat nf = NumberFormat.getCurrencyInstance(lc); StringBuilder sb = new StringBuilder(); sb.append("Titulo: " + v1.getTitulo()); sb.append("\nData: " + sdf.format(v1.getDtVenda())); sb.append("\nValor: " + nf.format(v1.getValor())); System.out.println(sb.toString()); Arquivo arq = new Arquivo(); arq.abrir(); arq.escrever(sb.toString()); arq.fechar(); System.out.println("Arquivo gerado"); }catch(Exception e){ e.printStackTrace(); } } } package control; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; import java.util.TreeSet; public class Principal3 { public static void main(String[] args) { //SET -- -RETIRAR DUPLICADOS //Possui uma ordenação propria + Rapido Set<String> lista1 = new HashSet<String>(); lista1.add("Jose"); lista1.add("Ana"); lista1.add("Maria"); lista1.add("Jose"); lista1.add("Cris"); lista1.add("Ana"); System.out.println(lista1); //retira duplicados e mantem a ordem que foi inserido Set<String> lista2 = new LinkedHashSet<String>(); lista2.add("Jose"); lista2.add("Ana"); lista2.add("Maria"); lista2.add("Jose"); lista2.add("Cris"); lista2.add("Ana"); System.out.println(lista2); //retira duplicados e ordenar a lista Set<String> lista3 = new TreeSet<String>(); lista3.add("Jose"); lista3.add("Ana"); lista3.add("Maria"); lista3.add("Jose"); lista3.add("Cris"); lista3.add("Ana"); System.out.println(lista3); } }