GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Java: ArrayList

programação
mysql
java
Tags: #<Tag:0x00007f6543adf728> #<Tag:0x00007f6543adf5c0> #<Tag:0x00007f6543adf408>
#1

Boa noite, Estou fazendo um curso técnico em informatica e estou vendo java e estou tendo dificuldade com o Banco de dados e com ArrayList

na parte de Banco de dados a conexão está de boa, porém a professora passa exercícios complicados e não consigo resolver.
ArrayList foi um assunto que atrasei estou relendo, mas bugou muito a mente.

Como faço para melhorar, estou estudando muito pois estou com nota baixa e preciso recuperar, programo em C um pouco bem, mas como agora é OO, bugou muito.

0 Likes

#2

Com relação ao banco de dados, recomendo fortemente que acompanhe esta playlist do Curso em Vídeo:

Vale muito a pena, eu consigui entender bastante coisa com este material. Nos vídeos, o Guanabara usa MySQL e mesmo que a sua professora esteja usando algum outro sistema gerenciador de banco de dados, ainda assim recomendo, pois alguns conceitos são universais.

Sobre ArrayList, o que exatamente vc não tá entendendo?

Não tem segredo. Em Java, quando vc cria um array comum é necessário informar o tamanho desse array.

// array criado com capacidade (explicita) para 10 elementos
int[] a = new int[10];

// array criado com capacidade (implicida) para 3 elementos
int[] b = { 1, 2, 3 };

O problema é que nem sempre vc sabe quantos elementos serão inseridos neste array e o ArrayList resolve isso por aumentar sua própria capacidade a medida que vc vai inserindo elementos nele.

// cria um ArrayList de números inteiros
ArrayList<Integer> c = new ArrayList<Integer>();
c.add(1);
c.add(2);

// cria um ArrayList de Strings
ArrayList<String> d = new ArrayList<String>();
d.add("Segunda");
d.add("Terça");

// cria um ArrayList de pessoas (faz de conta que vc criou uma classe Pessoa)
ArrayList<Pessoa> e = new ArrayList<Pessoa>();
e.add(new Pessoa("Maria"));
e.add(new Pessoa("João"));

Acredito que a parte mais complexa é isso: <String> ou <Integer>

Deixando de lado qualquer coisa tecnica, esta parte serve apenas para informar que tipo de dados vc quer armazenar naquele array.

É possível criar ArrayList sem essa parte, mas isso não é recomendado.

Vc só precisa ficar atento ao seguinte: não é possível armazenar tipos primitivos num ArrayList, então boolean, char, byte, short, int, long, float e double não são aceitos.

É necessário usar as versão alternativas deles que são: Boolean, 'Character,Byte,Short,Integer,Long,FloateDouble`.

Logo:

ArrayList<float> f = new ArrayList<float>(); // não pode isso
ArrayList<Float> g = new ArrayList<Float>(); // isso pode!

Mas explica melhor a parte que vc não tá conseguindo absorver.

1 Like

#3


Como pode ver estou com muita dúvida, entendo banco de dados, a classe conexão já está pronta e ContatoDAO só depois que fizer a Principal, mas estou sem lógica para fazer isso aí.
Tenho que inserir Contatos dentro de uma ArrayList porém não só um , mas sim vários, tentei varias maneiras.

0 Likes

#4

@JGeanC,Bom dia,
Estou dando essa solução imaginando que sua classe Contato tenha esses atributos:

public class Contato {
	private String nome;
	private String telefone;
	private String email;
	
	public Contato() {
	}
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
}

Para o bloco de codigo que voce mandou o Print de tela sugiro utilizar algo nesse formato:

Contato c = new Contato();
System.out.println(“Digite o nome”);
c.setNome(ler.nextLine());
System.out.println(“Digite o Telefone”);
c.setTelefone(ler.nextLine());
System.out.println(“Digite o email”);
c.setEmail(ler.nextLine());
cone.Add( c );

Estou levando em consideração que a cone seja um ArrayList do tipo Contato

Abraços
Max

1 Like