Collection

3 respostas
M

Estou estudando para certificação com o livro da Kathy Sierra, na página 305 da versão em português, ela mostra a hierarquia das interfaces. Me parece que as classes Hashtable, LinkedHashMap, HashMap e TreeMap, estão no mesmo nível na hierarquia, mas fazendo o whizlabs tem uma questão que diz que LinkedHashMap extende HashMap.

Questão:

public class Teste {

public static void main(String args[]){

Object obj=new LinkedHashMap();
if(obj instanceof Collection)
		System.out.print("For ");		
	if(obj instanceof Map)
		System.out.print("A Few ");
	if(obj instanceof LinkedList)
		System.out.print("Dollars more ");
	if(obj instanceof HashMap)
		System.out.print("Good Men");
}

}

Saída: A Few Good Men

Gostaria de saber se o livro da Kathy está errado ou se eu não consegui visualizar isso no livro?

3 Respostas

fmeyer

de acordo com o documentacao da linguagem extende sim

http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedHashMap.html

alias guarde o javadoc, eh mais confiavel que um livro mal traduzido pro portugues

T

Hierarquia correta de algumas classes:

Object
   -&gt AbstractMap (implements Map)
        -&gt HashMap 
             -&gt LinkedHashMap
        -&gt TreeMap (implements SortedMap)
   -&gt Dictionary (deprecated)
        -&gt Hashtable (implements Map)
             -&gt Properties

Esses detalhes "sangrentos" de hierarquia não são pedidos, mas estão aqui para você saber. (É curioso como existe uma classe (abstrata) java.util.Dictionary no Java; nem sabia que existia. )

LPJava

http://www.guj.com.br/posts/list/50115.java

Criado 18 de julho de 2007
Ultima resposta 19 de jul. de 2007
Respostas 3
Participantes 4