java Collection<E>的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:52:51
Collection<E>到底是类还是接口,有些书上说是接口,我网上看有些说是类

到底有什么用?

Collection<E>和Collection<V>是不是一样的

要列出HashMap<K,V>中所有键-值对的值时,为什么要用values()方法先赋值给Collection<V>,再用Iterator<E>类。为什么不直接Iterator<E>类列出HashMap<K,V>中所有键-值对的值

1. public interface Collection<E> extends Iterable<E>
是接口这点可以肯定。
网上说的那个类应该是Collections。多个s。
2.Collection<E>和Collection<V>是不是一样的
简单说,java泛型里用一个字母表示一个类,这个类可以被实例化,所以E,V都是一样的作用。
3.要列出HashMap<K,V>中所有键-值对的值时,为什么要用values()方法先赋值给Collection<V>,再用Iterator<E>类。为什么不直接Iterator<E>类列出HashMap<K,V>中所有键-值对的值

因为HashMap没有提供你所要求的那种功能。他可以提供吗?可以。因为内部的实现里完全可以达到那种要求。但是从设计角度讲,那样的话类的职责就不清楚了。具体的你可以看一下Iterator设计模式,相信对你有所帮助。

Collection是接口,Collections才是类。具体可以看JDK文档。