Buscar

[05]-Tutorial-POO Vetores, ArrayList e Interfaces

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);
		
	}
	
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina