Pra quem ja fez a prova, ou pra quem ja dominou este tópico, alguem tem alguma dica para decorar os XXX tipos de conjuntos e saber diferencialos ?, tem conjunto pra caramba, e quando junta todos eles eu fico perdidaço haha.
Scjp 6, falando sobre conjuntos
11 Respostas
Bom…conjuntos propriamente ditos não tem tantos assim que caem na prova:
Set, SortedSet, HashSet, LinkedHashSet, TreeSet, NavigableSet. Acho que só.
Todos estão na mesma hierarquia de classes, então não é tão difícil assim decorar.
Agora se vc estiver falando sobre TODAS as coleções, independente de serem conjuntos ou não, aí sim é um número razoável.
Acho que o melhor jeito de aprender é desenhar a hierarquia de classes na mão…umas duas vezes…e ler sobre qual coleção usar para resolver determinado problema.
É melhor decorar direitinho sim, que essas questões são mais fáceis que as de threads - só precisam de um pouco de decoreba mesmo. É preciso saber diferenciá-los sim. Mas se você já teve a disciplina de Estruturas de Dados na faculdade, deve achar que isso é moleza.
Tem q saber a diferenca de Set, Map e os outros tipo List.
Ai dps as particularidade de cada uma das colections desse tipo tenta ir dando uma decorada…
Cai bastante coisa sobre isso, é bom ir sabendo bem…
Resumo…
Faça resumos…
E faça e refaça aquele desenho de hierarquias que tem no livro da Kathy.
Recomendo pegar o desenho do livro 6, pois tem sobre as novas interfaces…
Mole mole decorar!
Uma coisa que ajuda bastante mesmo é fazer uns cinco ou seis programinhas “hello, world” que usem essas classes. Isso ajuda a você a entender:
- Como inserir, remover e localizar um elemento ou uma entrada
- Como os elementos ou entradas são ordenados
- O que ocorre quando você remove um elemento ao mesmo tempo em que você está percorrendo um conjunto.
a interface Set eu ja consegui fazer um decoreba ontem mesmo quando postei o topico. agora o problema vai ser as outras :o
não testei isto ontem, boa ideia!
eu to tirando umas 2 horas por dia pra estudar, ja to acho que no terceiro dia de conjuntos, de longe, ta sendo a coisa mais tensa, nem threads deram tanto trabalho assim :?
se alguem tiver mais dicas ai, ta sendo bem vindo 
Olá!
Sabendo pelo menos a interface, pelo nome da pra saber mais ou menos o comportamento, por exemplo:
Map -> Mapa, do tipo chave/valor. Você coloca com um put(chave, valor) e pega o valor com um get(chave);
Set -> Conjunto, parecido com um conjunto numérico. A principal característica é que não pode possuir valores iguais. Adiciona com add(elemento) e recupera com get(indice);
List -> Implementação de lista de elementos, mesmo esquema do Set (add/get).
Set e List são iguais na manipulação dos dados porque estendem a mesma interface: Collection.
Daí pra frente, pelo nome da pra saber mais ou menos como funciona:
Hash -> Isso diz normalmente que os elementos vão ser comparados utilizando o resultado de hashCode(). Por exemplo HashMap, HashSet;
Tree -> Diz que a coleção será ordenada em árvore. TreeSet, TreeMap;
Linked -> Diz que a coleção será encadeada. LinkedHashSet, LinkedList;
Array -> Já diz no nome que funcionará como um array (dinâmico). ArrayList.
Juntando os dois temos:
HashMap -> Mapa do tipo chave/valor que recupera os valores baseando-se na igualdade dos hashCodes das chaves;
TreeSet -> Conjunto que não aceita valores iguais ordenado em árvore;
LinkedList -> Uma coleção no formato de lista encadeada.
É mais ou menos assim, ainda existem algumas particularidades de cada coleção que não adianta, tem que decorar mesmo.
Abraços
Olá!Sabendo pelo menos a interface, pelo nome da pra saber mais ou menos o comportamento, por exemplo:
Map -> Mapa, do tipo chave/valor. Você coloca com um put(chave, valor) e pega o valor com um get(chave); Set -> Conjunto, parecido com um conjunto numérico. A principal característica é que não pode possuir valores iguais. Adiciona com add(elemento) e recupera com get(indice); List -> Implementação de lista de elementos, mesmo esquema do Set (add/get).Set e List são iguais na manipulação dos dados porque estendem a mesma interface: Collection.
Daí pra frente, pelo nome da pra saber mais ou menos como funciona:
Hash -> Isso diz normalmente que os elementos vão ser comparados utilizando o resultado de hashCode(). Por exemplo HashMap, HashSet; Tree -> Diz que a coleção será ordenada em árvore. TreeSet, TreeMap; Linked -> Diz que a coleção será encadeada. LinkedHashSet, LinkedList; Array -> Já diz no nome que funcionará como um array (dinâmico). ArrayList.Juntando os dois temos:
HashMap -> Mapa do tipo chave/valor que recupera os valores baseando-se na igualdade dos hashCodes das chaves; TreeSet -> Conjunto que não aceita valores iguais ordenado em árvore; LinkedList -> Uma coleção no formato de lista encadeada.É mais ou menos assim, ainda existem algumas particularidades de cada coleção que não adianta, tem que decorar mesmo.
Abraços
woot ! era disso que eu tava falando 
obrigado!
To contigo, tenho também dificuldade de entender as diferenças.
Principalmente quais classes fazem uso do hashCode() para pesquisar/recuperar um objeto.
Já estudei o capítulo mas ainda não ficou muito claro.
Se alguém tiver um material bom, que explique de forma diferente do livro seria ótimo.
To contigo, tenho também dificuldade de entender as diferenças.
Principalmente quais classes fazem uso do hashCode() para pesquisar/recuperar um objeto.
Já estudei o capítulo mas ainda não ficou muito claro.Se alguém tiver um material bom, que explique de forma diferente do livro seria ótimo.
o Set pra mim já esta entendido. Na minha visão ficou algo como:
HashSet = um vetor dinâmico que aumenta de tamanho conforme a adição. ordena por ordem de inserção.
Vector (Set)= HashSet com metodos sincronizado.
TreeSet = HashSet que possui mais metodos, esses metodos são especilizados para conceder o a estrutura de dados de Pilha e/ou Fila, com metodos para adicionar na ultima posição, adicionar na primeira posição, resgatar o primeiro e etc … 
agora só falta todos os outros, como eu jali bastante sobre, e ja tenho um pouco de ideia de como funcuiona conjuntos, eu pulei esse capitulo do livro um pouco pra não ficar encalhado.
E pelo que eu tenho notado, a interface List vai dar um pouco de trabalho, ja que a mesma não usa as duplicidades 
Atenção!!! Cuidado com a confusão. Não vá “rodar” na prova.
O TreeSet NÃO É um HashSet e sim apenas um Set.
Portanto, ele não precisa que a classe redefina hashCode e equals, entretanto, como é um SortedSet, ele precisa que você passe um Comparator ou então que a classe implemente Comparable.
Um TreeSet não tem nada a ver com pilhas ou filas, que usam List, não Set.
Se for fazer a SCJP 6, não se esquecer que SortedSet implementa agora a interface NavigableSet, que permite você percorrer os elementos para frente e para trás também.
OK?