我是靠谱客的博主 妩媚宝马,最近开发中收集的这篇文章主要介绍Hashmap如何实现key的唯一性,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Map和Set不可存在重复元素

1 对于 HashMap  HashSet  的实现是:

维护了一张  HashTable 。容器中的元素全部存储在Hashtable 中,每次添加元素都会先判断是否有重复的元素,hashcode()方法进行比较,若一样再equals()方法比较,他们的底层数据结构如果也相同的话,JVM就认为数据已经存在了,就不会添加数据!

2 对于 TreeMap  TreeSet

他们底层是数据结构的实现是:维护了一棵二叉树。 容器中添加元素的时候,他们有是怎么判断是否有相同元素的?我们都直到 TreeMap TreeSet  她们 都是 有序的存储数据。 为了维护 数据的唯一性。 再存入数据的时候,他们会调用元素中 实现的 Comparable 的 compareTo()  方法(代码1)。 或者 集合本身创建的时候 传入了 迭代器(代码2).  具体的实现是:调用比较方法,返回-1  的时候,添加到左子树,返回1 的时候 添加到 右子树。返回0 有相同数据 不添加该元素!

Map和Set都是不重复的,对于带tree的还有顺序

最后

以上就是妩媚宝马为你收集整理的Hashmap如何实现key的唯一性的全部内容,希望文章能够帮你解决Hashmap如何实现key的唯一性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部