Matriz ( ou vetor, ou ainda array)?

ola !

como incializar uma matriz, mas, nesse momento sem saber o numero de linhas e colunas ? E nesse, pode ter mais do q um tipo de dados (string e int), tipo assim:

esse seria um exemplo dela, no final, preenchida, mas no inicio, nao sei (ou saberei) qtas linhas e colunas, nem tipos de dados q vai ser add (string, int, etc):

{ “Joao” , 48 , 22/07/09 , “solteiro” }
{ “maria” , 23 , 25/07/09 , “casada” }

obrigado

Nesse caso, você cria primeiro uma classe, para representar o dado da sua matriz:

[code]public class Pessoa {
public enum EstadoCivil {Solteiro, Casado, UniaoEstavel, Viuvo};

private String nome;
private int idade;
private Calendar dataCadastro;
private EstadoCivil estadoCivil;

//Construtor, getters e setters
}[/code]

Depois, você cria um List, de objetos dessa classe:

List<Pessoa> pessoas = new ArrayList<Pessoa>(); pessoas.add(new Pessoa("Joao", 48, "22/07/09", EstadoCivil.Solteiro)); pessoas.add(new Pessoa("Maria", 23, "25/07/09", EstadoCivil.Casado));

esse q eu passei foi um exempo

{ “Joao” , 48 , 22/07/09 , “solteiro” }
{ “maria” , 23 , 25/07/09 , “casada” }

mas, num outro momento ela pode mudar (dependendo de onde chamar):

{ 45 , “01” , “direito” }
{ 20 , “02” , “contabeis” }
{ 15 , “03” , “informatica” }
{ 35 , “04” , “farmacia” }

mas, sempre sera montado no mesmo lugar…

Você pode fazer um

List<List<Object>> matriz;

Mas é péssimo. Você terá que testar tipos e fazer casts.

O ideal é montar métodos diferentes e classes diferentes para cada caso.