HashMap是实现的 Collection的接口吗?

作者&投稿:犁真 (若有异议请与网页底部的电邮联系)
Java集合框架中接口Collection和Map的区别~

Collection├ List│ ├LinkedList│ ├ArrayList│ └Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap1、Collection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。  所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。
2、Map接口  Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。

Java集合框架主要由Collection和Map两个根接口及其子接口、实现类组成。collection 的子接口包括List,set,queue。而Map包括三个实现类HashMap,HashTable,LinkeHashMap

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。

HashMap是Java1.2引进的Map接口的一个实现,
而实现Connection的主要是Set和List

他俩之间没有继承关系
---------------------------------------------------------
接口 Map<K,V>
所有已知子接口:
ConcurrentMap<K,V>, SortedMap<K,V>
所有已知实现类:
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, EnumMap, HashMap, Hashtable, IdentityHashMap, LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap

接口 Collection<E>
所有超级接口:
Iterable<E>
所有已知子接口:
BeanContext, BeanContextServices, BlockingQueue<E>, List<E>, Queue<E>, Set<E>, SortedSet<E>
所有已知实现类:
AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayBlockingQueue, ArrayList, AttributeList, BeanContextServicesSupport, BeanContextSupport, ConcurrentLinkedQueue, CopyOnWriteArrayList, CopyOnWriteArraySet, DelayQueue, EnumSet, HashSet, JobStateReasons, LinkedBlockingQueue, LinkedHashSet, LinkedList, PriorityBlockingQueue, PriorityQueue, RoleList, RoleUnresolvedList, Stack, SynchronousQueue, TreeSet, Vector

HashMap实现的接口有:Serializable, Cloneable, Map<K,V> ,没有实现Cllection接口。


hashmap 中 hash 函数怎么是是实现的?还有哪些 hash 的实现方式
HashMap是对数据结构中哈希表(Hash Table)的实现,Hash表又叫散列表。Hash表是根据关键码Key来访问其对应的值Value的数据结构,它通过一个映射函数把关键码映射到表中一个位置来访问该位置的值,从而加快查找的速度。这个映射函数叫做Hash函数,存放记录的数组叫做Hash表。在Java中,HashMap的内部实现结合...

hashmap实现了什么接口
HashMap是基于哈希表的Map接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当作一个整体来处理,系统会根据hash算法来计算key-value的存储位置,在使用时,总是可以通过key快速地存、取value。HashMap的key与value类型可以相同也可以不同。可以是字符串(String)类型的key和value,也可...

HashMap是实现的 Collection的接口吗?
HashMap是Java1.2引进的Map接口的一个实现,而实现Connection的主要是Set和List

hashmap底层实现原理
从结构实现来讲,HashMap是:数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的。

hashmap底层实现原理是什么?
HashMap的实现原理:首先有一个每个元素都是链表(可能表述不准确)的数组,当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中的位置,但是可能存在同一hash值的元素已经被放在数组同一位置了。这时就添加到同一hash值的元素的后面,他们在数组的同一位置,但是形成了链表,同一...

hashmap底层实现原理
HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap...

HashMap实现原理
上文提到,在jdk1.8以前HashMap的实现是 散列表 = 数组 + 链表 ,但是到目前为止我们还没有看到链表起到的作用。事实上,HashMap引入链表的用意就是解决下标冲突。下图是引入链表后的散列表:如上图所示,左边的竖条,是一个大小为16的数组,其中存储的是链表的头结点,我们知道,拥有链表的头结点...

在JAVA中Map和HashMap有什么区别
Map是一个接口不能实例化 public interface Map<K,V> HashMap是Map的一个实现类,是对Map等的实现。public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable

HashMap和Hashtable的区别是啥呢?
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。

什么是HashMap
HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(在JAVA8中为Node),这个Entry实体主要包含key、value以及一个指向自身的next指针。HashMap是基于hashing实现的,当进行put操作时,根据传递的key值得到它的hashcode,然后再用这个hashcode与数组的长度进行模运算,得到...

南开区17652637494: HashMap是实现的 Collection的接口吗? -
邗行依托: HashMap实现的接口有:Serializable, Cloneable, Map ,没有实现Cllection接口.

南开区17652637494: hashmap等是实现的collection的接口吗?是什么? -
邗行依托: "不是.hashmap实现的是map接口.他是以键值对的形式保存.

南开区17652637494: 请问java中HashMap是怎么实现的,还有treeMap的实现原理是红黑树,请解释一下红黑树 -
邗行依托: 参考资料的网页上有比较的代码,你可以仔细看下~~~ java中HashMap,LinkedHashMap,TreeMap,HashTable的区别 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap...

南开区17652637494: Java中的HashMap的工作原理是什么? -
邗行依托: 一,存储方式: Java中的HashMap是以键值对(key-value)的形式存储元素的.二,调用原理: HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素.当调用put()方法的时候,HashMap会...

南开区17652637494: JAVA中的HASHSET和HASHMap的底层实现是怎样的?大致讲一下. -
邗行依托: HASHMAP是根据HASH算法储存数据的集合类,每一个存入其中的对象都有一个特定的哈希值!当我们新建一个HashMap对象,如果不给定它的大小,其默认为16,就相当与下面新建了编号为0到15的数组(链表数组).以默认HashMap为例,put一个对象时,首先得到他的哈希值,在与十五相除得到余数,找到与余数相同编号的数组插入其中!HASHSET就是没有value值的HASHMAP,你可以新建一个HASHSET,插入0到15,绝对以0到15的顺序打印.

南开区17652637494: java中实现一个简单HashMap(就是自己写一个简单的,不要太复杂); -
邗行依托: Hashmap这个结构,是从一个key到一个value的映射的集合,其中的hash是指用hash数组(也就是散列表)来存放value集合. 实现思路上,通过key的hashcode来确定value存储的位置,遇到冲突的位置就通过某个规则找下一个位置. 实现的简...

南开区17652637494: 接口的实现类,Map以及HashMap.问一下HashMap是Map的实现类,那么以下这两个的的区别是什么? -
邗行依托: Map是个接口,HashMap是Map的实现类,使用Map map=new HashMap(),这种方式只能调用Map和HashMap共同的方法或者属性;如果使用HashMap map=new HashMap(),这种方式既可以调用两者共同的方法或者属性,还可以调用HashMap独有的方法或者属性.

南开区17652637494: HashMap内部是如何实现的? -
邗行依托: 基于哈希表的 Map 接口的实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同.)此类不保证映射的顺序,特别是它不保证该顺序恒久不变.此实现假定...

南开区17652637494: hashmap数据结构及实现原理,其链表是用来解决什么问题的 -
邗行依托: Hashmap实际上是一个数组和链表的结合体 (在数据结构中,一般称之为“链表散列“) 希望能帮到你!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网