我是靠谱客的博主 安详流沙,最近开发中收集的这篇文章主要介绍HashSet,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

HashSet实现了Set接口,它不允许集合中出现重复元素。

对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素,而且只使用了HashMap的key来实现各种特性。相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成,我们应该为保存到HashSet中的对象覆盖hashCode()和equals(),以保证放入的对象的唯一性。

HashSet较HashMap来说比较慢

HashSet中的数据不是key-value键值对,其只是单值,虽然其借助与HashMap来实现但是其只是将值作为key来存入HashMap中,因为HashMap中的值是key-value键值对的,所以每个HashSet存储到HashMap的数据对应的value值只是一个new Object()对象。

 

 

HashSet源码:

public class HashSet<E>
    extends AbstractSet<E>
    implements Set<E>, Cloneable, java.io.Serializable
{
 
    private transient HashMap<E,Object> map;

    public HashSet() {
        map = new HashMap<>();
    }

 

 

最后

以上就是安详流沙为你收集整理的HashSet的全部内容,希望文章能够帮你解决HashSet所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部