ArrayList, como se declara?

Bem, gostaria de saber como seria uma declaracao de um arraylist e qual a funcionalidade do mesmo e um exemplo, se possivel. Obrigado. Fabiano Almeida.

você utiliza o ArrayList quando precisa implementar uma Lista.
Vc pode adicionar qualquer objeto na lista e percorrê-los depois.
Um List ainda possui os metodos get() e set() para recuperar ou inserir um objeto na posição i

[code]import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test
{
public static void main(String[] args)
{
List l = new ArrayList();

	l.add("Ricardo");
	l.add("A");
	l.add("B");
	
	System.out.println(l.contains("Ricardo"));
	
	Iterator i = l.iterator();
	while (i.hasNext())
	{
		String s = (String) i.next();
		System.out.println(s);
	}
}

}[/code]

O que é Interator? E onde posso encontrar algo relacionado sobre o ArrayList? Alguma apostila que abrange mais o Java relacionada ao código mesmo, e não como a linguagem funciona. Se puder me esclarecer essas dúvidas, agradeço e muito. Obeigado. Fabiano Almeida.

Fabiano,

ArrayList é uma implementação redimensionável da interface List. Ela é bem parecida com a classe Vector, com exceção que não é sincronizada, ou seja: se mais de uma thread acessar uma instancia de ArrayList concorrentemente, e se pelo menos uma delas alterá-la estruturalmente (adição, deleção de elementos, ou redimensionamento; apesar setar um valor não é uma modificação estrutural), a thread deve ser sincronizada externamente.

Se hover um objeto que encapsula a lista, este deve ser “syncronized”. Se não vc pode usar o seguinte método:

List list = Collections.synchronizedList(new ArrayList(…));

ArrayLists aceitam qquer objetos, inclusive null. Por ser baseada em um array primitivo de Objetct, ela é muito mais rápida que a LinkedList para acesso randômico.

Não sei isso td de cor, é claro… meio q traduzi (posso ter errado alguma coisa) e resumi das seguinte fontes:

http://java.sun.com/j2se/1.4.1/docs/api/java/util/ArrayList.html
http://developer.java.sun.com/developer/JDCTechTips/2002/tt0910.html

Silvio dos Passos Neto
neto@webwork.com.br
Webwork Soluções Online