Java中HashMap和TreeMap的区别深入理解
1个回答
展开全部
里面存储的的方式不一样, HashMap 用的是 Hash 来存储, TreeMap用的是 红黑树,
HashMap是一个数组, 用key进行hash 获取到一个数组的索引,然后把 整个Entry存储在 这个数组的索引位置,如果这个索引位置已经有值了,这个数组的这个索引处就会演变为一个链表,1.8之后,如果这个链表的长度大于8了, 这个链表会演变成红黑树, 查找就是一个逆向的过程
红黑树,用的是一种二叉树的结构,用Key在树结构中查找 ,这里跟二叉树的查找方式是一样的,这里可以去搜索了解下 二叉树,完全平衡数,红黑树之间的区别。
大体区别是这样,这些问题,你用百度搜索找,远比用百度知道快
HashMap是一个数组, 用key进行hash 获取到一个数组的索引,然后把 整个Entry存储在 这个数组的索引位置,如果这个索引位置已经有值了,这个数组的这个索引处就会演变为一个链表,1.8之后,如果这个链表的长度大于8了, 这个链表会演变成红黑树, 查找就是一个逆向的过程
红黑树,用的是一种二叉树的结构,用Key在树结构中查找 ,这里跟二叉树的查找方式是一样的,这里可以去搜索了解下 二叉树,完全平衡数,红黑树之间的区别。
大体区别是这样,这些问题,你用百度搜索找,远比用百度知道快
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询