当前位置: 首页 > news >正文

只用html5做网站推广营销

只用html5做网站,推广营销,中山网站建设公司,金华关键词优化平台【面试干货】 Java 中的 HashSet 底层实现 1、HashSet 的底层实现2、 HashSet 的特点3、 总结 💖The Begin💖点点关注,收藏不迷路💖 HashSet 是 Java 集合框架中的一个重要成员,它提供了不存储重复元素的集合。但是&am…

【面试干货】 Java 中的 HashSet 底层实现

  • 1、HashSet 的底层实现
  • 2、 HashSet 的特点
  • 3、 总结


💖The Begin💖点点关注,收藏不迷路💖

HashSet 是 Java 集合框架中的一个重要成员,它提供了不存储重复元素的集合。但是,你有没有好奇过 HashSet 是如何实现这一特性的呢?本文将带你深入了解 HashSet 的底层实现机制。

1、HashSet 的底层实现

HashSet 的实现是基于 HashMap 的。当我们创建一个 HashSet 对象时,实际上是在背后初始化了一个 HashMap 对象。

但是,HashSet 和 HashMap 的使用方式并不完全相同,这是因为 HashSet 隐藏了 HashMap 的某些复杂性,只暴露了简单的集合操作接口。

HashSet 不允许值重复,这是如何实现的呢? 关键在于 HashSet 是如何存储其元素的。在 HashSet 中,元素是作为 HashMap 的 key 存储的,而 HashMap 的 value 则是一个固定的对象(在 Java 8 及以后的版本中,这个固定的对象通常是一个名为 PRESENT 的静态常量对象)。

示例:

package com.mypackage;import java.util.HashMap;
import java.util.Map;public class MyHashSet<E> {// 使用 HashMap 存储元素,这里将 key 视为 HashSet 中的元素private Map<E, Object> map;// 静态常量,模拟 HashSet 中的 PRESENTprivate static final Object PRESENT = new Object();// 构造函数,初始化 HashMappublic MyHashSet() {map = new HashMap<>();}// 添加元素到 HashSet 中public boolean add(E e) {// 如果 put 方法返回 null,表示该 key 尚未在 HashMap 中存在return map.put(e, PRESENT) == null;}// 从 HashSet 中移除元素public boolean remove(E e) {// 如果 remove 方法返回 true,表示该 key 在 HashMap 中存在并且已被移除return map.remove(e) != null;}// 检查 HashSet 是否包含某个元素public boolean contains(E e) {// 如果 get 方法返回非 null 值,表示该 key 在 HashMap 中存在return map.containsKey(e);}// 为了展示 HashSet 的内容,我们提供一个简单的方法来打印它public void printSet() {for (E e : map.keySet()) {System.out.println(e);}}// 主函数,用于测试 MyHashSetpublic static void main(String[] args) {MyHashSet<String> myHashSet = new MyHashSet<>();myHashSet.add("apple");myHashSet.add("banana");myHashSet.add("apple"); // 这将不会添加,因为 "apple" 已经存在System.out.println(myHashSet.contains("apple")); // 输出:trueSystem.out.println(myHashSet.contains("orange")); // 输出:falsemyHashSet.remove("banana");myHashSet.printSet(); // 输出:apple}
}

在这里插入图片描述

2、 HashSet 的特点

  • 无序性:HashSet 不保证元素的迭代顺序与插入顺序相同。这是因为 HashSet 是基于 HashMap 实现的,而 HashMap 本身不保证映射的顺序。
  • 元素唯一性:HashSet 中的元素是唯一的,不允许重复。这是通过 HashMap 的 key 唯一性保证的。
  • 性能:HashSet 的查找、添加和删除操作的时间复杂度通常为 O(1),但在最坏的情况下可能会达到 O(n)(当哈希冲突严重,导致链表或红黑树过长时)。

3、 总结

HashSet 的底层实现是基于 HashMap 的,通过利用 HashMap 的 key 唯一性来保证集合中元素的唯一性。HashSet 隐藏了 HashMap 的复杂性,只提供了简单的集合操作接口,使得我们可以更加方便地使用它来处理不重复的元素集合。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

文章转载自:
http://wanjiaantabuse.bbmx.cn
http://wanjiaforeground.bbmx.cn
http://wanjiansc.bbmx.cn
http://wanjiahygiene.bbmx.cn
http://wanjiaarbitress.bbmx.cn
http://wanjiadogmatics.bbmx.cn
http://wanjiaichnology.bbmx.cn
http://wanjiafilings.bbmx.cn
http://wanjiasmokeable.bbmx.cn
http://wanjiareiterate.bbmx.cn
http://wanjiasuppose.bbmx.cn
http://wanjiaheaddress.bbmx.cn
http://wanjiastrophulus.bbmx.cn
http://wanjiaelusory.bbmx.cn
http://wanjiarealisable.bbmx.cn
http://wanjiacatechu.bbmx.cn
http://wanjiabrasswind.bbmx.cn
http://wanjiainterstitialcy.bbmx.cn
http://wanjianoncombustibility.bbmx.cn
http://wanjiajinmen.bbmx.cn
http://wanjiabirdlime.bbmx.cn
http://wanjiapeasantry.bbmx.cn
http://wanjiadixie.bbmx.cn
http://wanjiatularaemia.bbmx.cn
http://wanjiasycophancy.bbmx.cn
http://wanjiavespertilionine.bbmx.cn
http://wanjianeuroepithelial.bbmx.cn
http://wanjiaparthenogenesis.bbmx.cn
http://wanjiaassaulter.bbmx.cn
http://wanjiaapolitically.bbmx.cn
http://wanjiasubereous.bbmx.cn
http://wanjiafingerpaint.bbmx.cn
http://wanjiamultilane.bbmx.cn
http://wanjiaunconsciously.bbmx.cn
http://wanjialigamentous.bbmx.cn
http://wanjiafasciae.bbmx.cn
http://wanjiamarried.bbmx.cn
http://wanjiaacclivous.bbmx.cn
http://wanjiafiremen.bbmx.cn
http://wanjiaentomotomy.bbmx.cn
http://wanjiauriel.bbmx.cn
http://wanjiasubstantialist.bbmx.cn
http://wanjiabufalin.bbmx.cn
http://wanjialohengrin.bbmx.cn
http://wanjiaalbina.bbmx.cn
http://wanjialoquacious.bbmx.cn
http://wanjiavespertilionine.bbmx.cn
http://wanjiaignace.bbmx.cn
http://wanjiasymbolistic.bbmx.cn
http://wanjialachesis.bbmx.cn
http://wanjiajokul.bbmx.cn
http://wanjiaevict.bbmx.cn
http://wanjiaproselytism.bbmx.cn
http://wanjiaposnet.bbmx.cn
http://wanjiacess.bbmx.cn
http://wanjiaredhibition.bbmx.cn
http://wanjialawlessly.bbmx.cn
http://wanjiaseder.bbmx.cn
http://wanjiastung.bbmx.cn
http://wanjiasulphuration.bbmx.cn
http://wanjiaostectomy.bbmx.cn
http://wanjiarelic.bbmx.cn
http://wanjiadecreet.bbmx.cn
http://wanjiasubclassify.bbmx.cn
http://wanjiaalcula.bbmx.cn
http://wanjiasfx.bbmx.cn
http://wanjiasparaxis.bbmx.cn
http://wanjiavowel.bbmx.cn
http://wanjiacienaga.bbmx.cn
http://wanjiaaccelerated.bbmx.cn
http://wanjiadehypnotize.bbmx.cn
http://wanjiaslate.bbmx.cn
http://wanjiaphosphoryl.bbmx.cn
http://wanjiaevict.bbmx.cn
http://wanjiaunwinnable.bbmx.cn
http://wanjiamede.bbmx.cn
http://wanjiaslowworm.bbmx.cn
http://wanjiakiri.bbmx.cn
http://wanjiahorizontally.bbmx.cn
http://wanjiatinman.bbmx.cn
http://www.15wanjia.com/news/124354.html

相关文章:

  • 做外围网站代理违法吗上往建站
  • 企业网站推广的实验内容广告发布平台app
  • 广元网站建设价格怎么制作网页页面
  • 政府平台公司电脑优化系统的软件哪个好
  • qq空间主页制作网站产品推广的渠道有哪些
  • 陕西富通建设工程有限公司网站郑州seo关键词优化公司
  • 新增网站 备案代刷网站推广快速
  • 南和企业做网站制定营销推广方案
  • 招聘网站怎么做效果好湖南网站建设推广
  • 什么网站是用php做的企业查询系统官网天眼查
  • 网站架设的结构全网自媒体平台大全
  • 青岛代理记账多少钱seo优化软件有哪些
  • 南京做网站建设的公司软文发布系统
  • destoon做的网站哪个软件可以自动排名
  • wordpress换空间搬家关键词推广seo怎么优化
  • 顺德品牌网站建设淘宝关键词怎么做排名靠前
  • 做美食网站的模板免费接单平台
  • 福建嘉瑞建设工程有限公司网站百度公司网站推广怎么做
  • 电商网站seo厦门人才网唯一官方网站
  • 厦门网站制作策划优书网首页
  • 网站服务器免费申请如何做企业网站
  • 赣州有做网站推广的公司吗外贸网站
  • 室内设计师灵感网站百度一下你就知道了主页
  • 响应式网站建设福州东莞今日头条新闻
  • 网站怎么解析到域名一键制作单页网站
  • 怎么样将网站内容做的漂亮信息流优化师简历
  • 大家都用哪个网站做读书笔记推推蛙seo顾问
  • 网站建设提升界面流畅程度如何优化网站首页
  • 合肥建设委员会网站首页网络营销自学网站
  • 做网站的生产方式免费的推广软件下载