collections se não me engano cai no SCJP, é materia em todos os cursos de Java SE e etc e vez em sempre vejo alguma coisa sobre essa api…mas no fim das coisas, pq ela é tão importante?
imagino que o arraylist deva ser o mais importante, mas gostaria de entender melhor isso
De uma olhada nos metodos da interface collection e compara isso com um simples array
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collection.html
[quote=BrenoSalgado]collections se não me engano cai no SCJP, é materia em todos os cursos de Java SE e etc e vez em sempre vejo alguma coisa sobre essa api…mas no fim das coisas, pq ela é tão importante?
imagino que o arraylist deva ser o mais importante, mas gostaria de entender melhor isso[/quote]
Collections são simplemente estruturas dinâmicas de armazenamento de objetos.
Qualquer coisa que você pensar que precise de uma lista, ou de um conjunto de objetos que não se repetem, ou um dicionário/mapa de dados, uma fila, uma pilha, etc, as Collections entram no meio para te ajudar.
Respondendo a pergunta: FUNDAMENTAL pra qqer pessoa que queira desenvolver com Java.
Imagine que você tenha uma classe Empresa que deve “carregar” vários objetos do tipo Funcionario. Como fazer isso?
Criar uma variável para cada? Não. Totalmente inviável.
Criar um array para armazenar os objetos? Talvez. Mas e se você precisasse de uma hora para outra dobrar a quantidade de funcionários? E se precisasse adicionar mais funcionários do que a capacidade máxima do array? Teria que fazer uma cópia do array atual para um novo maior toda vez? E tudo na unha? Parece bem complicado…
Criar um ArrayList (por exemplo) e apenas ir usando os métodos já fornecidos como add, get, remove, etc.? Sem dúvida bem mais fácil, legível e simples para ler e manter. Além de tudo é dinâmica, evitando redimensionamento manual e foi feita de maneira a valorizar a performance, deixando à conta do programador somente a parte específica de seu sistema (e não a criação de uma estrutura de dados complexa).
Sem falar que as Collections podem ser abstraidas nas respectivas interfaces.
Eu posso usar uma List e esconder o fato de que é um ArrayList ou um Vector.
Precisa ser ThreadSafe, por exemplo? De repente a implementação pode exigir ou não, mas o seu algoritmo não precisa se preocupar com este detalhe.
saquei saquei, collections tem vários usos mesmo, mas e o hashmap, hashset, hashtable, linkedlist, treeset, treemap todos esses eu nunca entendi muito bem qual a aplicação deles
Um desses é extremamente rapido para leitura, mas lento para inserir, o que o torna perfeito para implementar um cache de informações.
Vc tem que ler sobre cada um deles e o Javadoc é um bom começo.
Olá
Aqui tem tudo o que você precisa saber sobre Collections.
http://java.sun.com/docs/books/tutorial/collections/index.html
bem no meu blog ate abordei o assunto link
agora assim nao tem a mais nem a menos importante, o que vc tem que saber em qual situacao usar a collection apropriada.