Problemas com ArrayList

Boa Tarde a todos

Estou com duvidas relacionadas a ArrayList:

1 = como é a sintaxe do ArrayList
2 = teria como me darem um código como exemplo
3 = no caso, se quero criar um array do tipo da minha classe como eu faria?
4 = se minha classe que estou usando como tipo do array tiver mais de um atributo, como eu colocaria isso pra funcionar? me poderiam enviar um exemplo ou uma apostila se possivel sobre isso

Vou tentar se tiver algo errado alguem me corrigi…

1-

List pessoas = new ArrayList();

com esse codigo você criou um list de objetos

para poder adicionar objetos ao list:

pessoas.add(new Pessoa());

2 - codigo exemplo

import java.util.ArrayList;
import java.util.List;

public class Pessoa {
	private String nome;
	private int idade;
	
	public int getIdade() {
		return idade;
	}

	public void setIdade(int idade) {
		this.idade = idade;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public static void main(String[] args) {
		//<Pessoa> está dissendo para o List, que ele poderá armazenar
		//apenas objetos da Classe Pessoa
		List<Pessoa> pessoas = new ArrayList<Pessoa>();
		
		Pessoa pessoa = new Pessoa();
	
		pessoa.setNome("Suelmar Zanetti Castro");
		pessoa.setIdade(23);
		
		pessoas.add(pessoa);
		
		//percorrendo o List
		for(Pessoa element : (List<Pessoa>) pessoas) {
			System.out.println(element.getNome() + " " + element.getIdade());
		} 
		
		//Convertendo um List num array de Objetos
		Pessoa[] arrayPessoas = pessoas.toArray(new Pessoa[0]);
		
		for(int i = 0; i < arrayPessoas.length; i++) {
			Pessoa element = arrayPessoas[i];
			System.out.println(element.getNome() + " " + element.getIdade());
		}
	}
}

puta cara… melhor explicação impossível…

mas ai vai outra duvida… e se eu quiser imprimir isso como eu faria?

      //percorrendo o List
      for(Pessoa element : (List<Pessoa>) pessoas) {
         System.out.println(element.getNome() + " " + element.getIdade());
      }

E só você percorrer o List.

Cara agora uma ultima dúvida.

ele acumula o nome e a idade. Se eu quiser tipo acumular estas informações em um vetor digo assim um exemplo.

eu colocar

setNome = henry;
setNome = thais;

e

setIdade = 20;
setIdade = 19;

tipo como eu colocaria estas informações no List e apresentar tipo assim.

henry 20 , thais 19


List<Pessoa> pessoas = new ArrayList<Pessoa>();

Pessoa pessoa1 = new Pessoa();
pessoa1.setNome("Henry");
pessoa1.setIdade(20);

pessoas.add(pessoa1);

Pessoa pessoa2 = new Pessoa();
pessoa2.setNome("Thais");
pessoa2.setIdade(19);

pessoas.add(pessoa2);

//Foram adiconadas as 2 pessoas

String escreve = "";

for(Pessoa element : (List<Pessoa>) pessoas) {
    escreve += element.getNome() + " " + element.getIdade() + ", ";
}

System.out.println(escreve);

cara puts… muito do obrigada… eu entendi o conceito…

muito obrigado mesmo, isso concerteza vai ajudar em muito

valeu

Cara, pensa um pouco, vc tem uma lista de pessoas certo?! essas pessoas tem um nome e uma idade, e vc quer imprimir nome e idade, pronto, chega, vc ja tem uma lista com tudo que precisa, não é mais para criar nova lista… vc vai pegar essas informações e imprimir da maneira como quizer!

ai agora eu te pergunto, o Suelmar ja te passou uma lógica:

      //percorrendo o List
      for(Pessoa element : (List<Pessoa>) pessoas) {
         System.out.println(element.getNome() + " " + element.getIdade());
      } 

que vai listar assim:

Ou seja, <nome><espaco><idade> de uma pessoa e para varias pessoas uma embaixo da outra, o que vc precisa mudar é colocar uma virgula entre as pessoas e não listar uma embaixo da outra.

E ai o que posso te dizer é que o comando que vc usa para não pular uma linha é ao invés de

System.out.println();

vc usa esse:

System.out.print();

ok?!

codigo mais bem explicavel impossivel mas alguem saberia me esplicar para que serve isso?

[code]

//percorrendo o List
for(Pessoa element : (List) pessoas) {
System.out.println(element.getNome() + " " + element.getIdade());

desculpa mas eu ñ entendi ate pq com ou sem ele o codigo aparentemente funciona igual.logo pra que serve?qual a diferença q faz com ou sem ele?[/code]

[quote=“Andre90012002”]codigo mais bem explicavel impossivel mas alguem saberia me esplicar para que serve isso?


//percorrendo o List
      for(Pessoa element : (List<Pessoa>) pessoas) {
         System.out.println(element.getNome() + " " + element.getIdade());

desculpa mas eu ñ entendi ate pq com ou sem ele o codigo aparentemente funciona igual.logo pra que serve?qual a diferença q faz com ou sem ele?[/code][/quote]

Não, o código não funciona igual…

Se eu tirar fora ele imprime:

Se eu deixar ele imprime:

Para vc isso é igual?! e tem um comentário logo antes de fazer isso que ele diz:

E ai?! o que vc acha que faz?!

Se vc entendeu o código do Suelmar, veria que ele percorre primeira vez uma List (objeto do tipo List) mostrando as pessoas que ela tem, é o código que vc acha dispensavel agora:

		for (Pessoa element : pessoas) {
			System.out.println(element.getNome() + " " + element.getIdade());
		}

Isso significa: para cada pessoa da lista de pessoas imprima o nome dela e a idade

o outro codigo é esse:

      //Convertendo um List num array de Objetos
      Pessoa[] arrayPessoas = pessoas.toArray(new Pessoa[0]);
      
      for(int i = 0; i < arrayPessoas.length; i++) {
         Pessoa element = arrayPessoas[i];
         System.out.println(element.getNome() + " " + element.getIdade());
      } 

Que faz a mesma coisa, só que antes converte para um array, mas ele colocou ali só para vc saber que tem como fazer… se vc for usar, vai usar somente uma das duas formas (na maioria das vezes)… mas o que te parece mais facil?! eu acho com List

ps: Estou falando do código la encima, primeiro que ele postou para vc ja que o segundo código que ele te deu não tem o código que vc acha “dispensavel”