Criar 100 objetos

Me ajudem, por favor. Estou iniciando em programação OO, especialmente JAVA. Se eu tenho uma classe de funcionário vamos supor com 100 objetos funcionários.Como faço para criar esses 100 objetos.Pois se para criar um objeto funcionário faço da seguinte forma:
.
.
.
public class principal{
public static void main(string [ ] args){
funcionário f1=new funcionário( );
f1.dados(“André”,“RH”,“1.500”);
}
}

ArrayList list = new ArrayList();

for ( int i = 0; i < 100; i++ )
   list.add( new Funcionario() );

do jeito tradicional

funcionario funcionarios[] = new funcionario[100];

for( int i = 0; i < funcionarios.length; i++ )
  funcionarios[i] = new funcionario();

[quote=“matheus”][code]
ArrayList list = new ArrayList();

for ( int i = 0; i < 100; i++ )
list.add( new Funcionario() );
[/code][/quote]

Qual a real diferenca entre arraylist e array normal ???

Como q eu faco pra manipular um arraylist q tem posicoes [][] ?

eae!?!?!?!?

acho de deveras trabalhar com um for dentro doutro

   for(int x =0;x>100;x++){
        for(int y = 0;y>100;y++{

}
}

A principal diferença entre um ArrayList e um Array normal é que o Array normal você já tem tamanho pré-definido do seu Array assim como no seu caso de criação de objetos que é 100 já no Array List e no Vector não, vc pode criar um Array de acordo com a sua necessidade.

Exemplo:
Aqui você está criando um array de String com 100 posições

String array[] = new String[100]; for(int i = 0 ; i < 100 ; i++){ System.out.println("Aqui você percorre 100 posições"); }

Aqui você está criando um Vector onde o tamanho é de acordo com a sua necessidade

Vector array = new Vector(); for(int i = 0; array.length ; i++){ System.out.println("Aqui você percorre o tamanho do Vector"); }

Blz?!
Falou cara!

eae blz?

bom quanto a ArrayList bidimensional isso não existe a estrutura do codigo não suporta essa opção inicialmente mas existe forma de representar isso
construindo uma nova classe que gerencie uma arraylist onde cada posição dessa array list é um outro arraylist aonde efetivamente estarão referenciados os objetos que pertencem a essa arraylist

quanto a diferença entre Array normal e ArrayList e Vector é o seguinte

array é simplesmente uma area sequencial alocado na memoria para um determinado tipo de dados ou objeto

ArrayList e Vector são classes que manipulam arrays sequenciais em memoria onde quando esse arrau chega ao seu limite máximo ele executa um método onde ele realoca o Array atual em um outro Array de maior capacidade

arraylist executa o codigo para aumentar a capacidade de alocação de objetos:


    public void ensureCapacity(int minCapacity) {
	modCount++;
	int oldCapacity = elementData.length;
	if (minCapacity > oldCapacity) {
	    Object oldData[] = elementData;
	    int newCapacity = (oldCapacity * 3)/2 + 1;
    	    if (newCapacity < minCapacity)
		newCapacity = minCapacity;
	    elementData = new Object[newCapacity];
	    System.arraycopy(oldData, 0, elementData, 0, size);
	}
    }

vector executa o codigo para aumentar a capacidade de alocação de objetos:

    public synchronized void ensureCapacity(int minCapacity) {
	modCount++;
	ensureCapacityHelper(minCapacity);
    }

    private void ensureCapacityHelper(int minCapacity) {
	int oldCapacity = elementData.length;
	if (minCapacity > oldCapacity) {
	    Object oldData[] = elementData;
	    int newCapacity = (capacityIncrement > 0) ?
		(oldCapacity + capacityIncrement) : (oldCapacity * 2);
    	    if (newCapacity < minCapacity) {
		newCapacity = minCapacity;
	    }
	    elementData = new Object[newCapacity];
	    System.arraycopy(oldData, 0, elementData, 0, elementCount);
	}
    }

obs.: para essas duas classes quando vc instancia objeto no contrutor sem parametros a capacidade inicial de alocação de objetos/dados é de 10 posições

comentario:
eu não aconselho utilizar essas classes para o caso :arrow: rotina ou programa onde esse objeto será utilizado para alocar um volume de dados muito grande, ou seja, para armazenar objetos e depois salvar num banco de dados por exemplo…

eu aconselho utilizar essas classes para o caso :arrow: programa onde vc carregue uma estrutura de dados e vc fará muitos acessos nas informações em consulta de dados…

esse comentario apos ter estudado a estrutura do codigo das classes
onde existe muito processamento para alocar dados quando o volume de insersão é muito grande, mas essas classes são mais eficientes para os casos onde vc carregue dados e depois utilize apenas para consulta de dados, pois quando ele for recuperar o codigo executado é referente a posição do elemento no vetor de acordo com o indice repassado.

codigo de recuperação de objeto do ArrayList:

    public Object get(int index) {
	RangeCheck(index);
         
        // AKI ele faz o acesso direto na regiaum de memoria de acordo
        // com o indice repassado do objeto
	return elementData[index];
    }

código de recuperação de objeto do Vector:

    public synchronized Object get(int index) {
	// tratamento que verifica se o indice está dentro do limite de   
        // objetos armazenados pelo vector
       if (index >= elementCount)
	    throw new ArrayIndexOutOfBoundsException(index);
        
         // AKI observar
	return elementData[index];
    }

conclusão, cada classe possui o seu potencial de melhor utilização
essas classes Vector e ArrayList são implementações da utilização
de Arrays em java, porem com métodos muito uteis para gerenciamento
desses arrays

bom qq coisa eu aconselho a ler a documentação das classes
e se quizer ainda ler o codigo fonte das classes e tirarem as suas
proprias conclusões de qual melhor para utilizar dependendo da necessidade do seu codigo :wink:

ps.: na pasta de instalação do sdk do java exite um arquivo src.zip ali estão todos os codigos fonte java do sdk, basta deszipar e olhar :lol:

no mais qq duvida soh falar :wink:

[]´s

obrigada pelas respostas.Me ajudaram muito.