首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

HashSet实现原理分析(Java源码剖析)add(E e)remove(Object o)iterator()小结

当我们调用HashSet的add(E e)的方法 的时候,我们会计算机元素e的hash值,如果这个值之前没出现过,就说明这个元素在set中不存在,如果出现过,就说明。set中已经存在了,就添加失败。...参考笔者的文章HashMap实现原理分析(Java源码剖析) 我们可以看到HashSet有多个构造函数,但每个构造函数都是初始化了一个HashMap的对象 /** * Constructs a... e2==null : e.equals(e2))....也就是说,我们在向set中添加一个e元素的时候,实际上就是在像map添加一个(e, Object)的键值对。我们添加的元素e变成了map中的key,而value则都是Obeject对象。...所以我们添加的e作为key的话,就可以保证添加成功的话,e一定是唯一的。这就实现了set的唯一性。

1.1K30

Java基础语法(十)数组?,是麻袋,既能装白菜,又能装妹子

Java中,数组就是存储多个相同数据的集合,他们的内存地址是相邻的,所以可以通过数组取值。 这么说,是不是有点不好理解,那么这样呢? 我有一颗白菜,手拿着就能回家,那如果是十几颗呢?...下标,Java中的下标是以0开始的,什么是下标,就是你从0开始查,查到某个你要的数据,查到几,下标就是几,就相当于,我在装白菜的时候,说“这是第0个白菜,这是第1个白菜…”,而他们也能听懂(别管他们能不能听懂...int[3][4]; System.out.println(Arrays.deepEquals(a, b)); //结果:false 小练习 定义一个二维麻袋,里面有三个麻袋,分别装3个女孩(用字符串显示名字

80210
领券