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

网站建设0doit优化关键词怎么做

网站建设0doit,优化关键词怎么做,苏州网站排名推广,看英语做游戏的网站Set接口 说一下 HashSet 的实现原理? HashSet 是基于 HashMap 实现的,HashSet的值存放于HashMap的key上,HashMap的value统一为PRESENT,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调…

Set接口

说一下 HashSet 的实现原理?

HashSet 是基于 HashMap 实现的,HashSet的值存放于HashMap的key上,HashMap的value统一为PRESENT,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成,HashSet 不允许重复的值。

HashSet如何检查重复?HashSet是如何保证数据不可重复的?

向HashSet 中add ()元素时,判断元素是否存在的依据,不仅要比较hash值,同时还要结合equles 方法比较。

HashSet 中的add ()方法会使用HashMap 的put()方法。

HashMap 的 key 是唯一的,由源码可以看出 HashSet 添加进去的值就是作为HashMap 的key,并且在HashMap中如果K/V相同时,会用新的V覆盖掉旧的V,然后返回旧的V。所以不会重复( HashMap 比较key是否相等是先比较hashcode 再比较equals )。

以下是HashSet 部分源码:

private static final Object PRESENT = new Object();
private transient HashMap<E,Object> map;public HashSet() {map = new HashMap<>();
}public boolean add(E e) {// 调用HashMap的put方法,PRESENT是一个至始至终都相同的虚值return map.put(e, PRESENT)==null;
}

hashCode()与equals()的相关规定

  1. 如果两个对象相等,则hashcode一定也是相同的
  2. 两个对象相等,对两个equals方法返回true
  3. 两个对象有相同的hashcode值,它们也不一定是相等的
  4. 综上,equals方法被覆盖过,则hashCode方法也必须被覆盖
  5. hashCode()的默认行为是对堆上的对象产生独特值。如果没有重写hashCode(),则该class的两个对象无论如何都不会相等(即使这两个对象指向相同的数据)。

==与equals的区别

  1. ==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相同
  2. ==是指对内存地址进行比较 equals()是对字符串的内容进行比较
  3. ==指引用是否相同 equals()指的是值是否相同

HashSet与HashMap的区别

Queue

BlockingQueue是什么?

Java.util.concurrent.BlockingQueue是一个队列,在进行检索或移除一个元素的时候,它会等待队列变为非空;当在添加一个元素时,它会等待队列中的可用空间。BlockingQueue接口是Java集合框架的一部分,主要用于实现生产者-消费者模式。我们不需要担心等待生产者有可用的空间,或消费者有可用的对象,因为它都在BlockingQueue的实现类中被处理了。Java提供了集中BlockingQueue的实现,比如ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue,、SynchronousQueue等。

在 Queue 中 poll()和 remove()有什么区别?

  • 相同点:都是返回第一个元素,并在队列中删除返回的对象。
  • 不同点:如果没有元素 poll()会返回 null,而 remove()会直接抛出 NoSuchElementException 异常。

代码示例:

Queue<String> queue = new LinkedList<String>();
queue. offer("string"); // add
System. out. println(queue. poll());
System. out. println(queue. remove());
System. out. println(queue. size());

http://www.yayakq.cn/news/907950/

相关文章:

  • 网站开发外包费用会计科目电脑做网站空间
  • 成都网站建设推荐安徽秒搜科技麻将app软件开发
  • 网站建设 邯郸网站制作为什么不建议做运维
  • 做网站知道访客ip做电脑网站手机能显示
  • 站长如何做导航网站php做网站首页的代码
  • 网站制作公司去哪找什么类型网站
  • 网站建设与运营成本信用建设网站动态信息报送制度
  • 大连网站建设公司领超科技怎么样物流网络的概念
  • asp企业网站开发技术企业qq邮箱登录入口
  • 网站链接如何做二维码wordpress重新设置域名
  • 能在线做实验的网站优购物官方网站app
  • 具有口碑的柳州网站建设公司一级建造师报名官网入口
  • 桥头做网站wordpress对接COS后网站变慢
  • 柬埔寨网站建设运营维护专业的个人网站建设哪家便宜
  • 网站制作成本多少钱王野天个人简介
  • 北京模板网站开发公司0505网页制作与网站建设
  • 管理公司网站建设前端开发能干到多少岁
  • 上海企业网站优化网络营销顾问招聘
  • 网站内部优化的方法网站导航设计应注意哪些问题
  • 国外网站推荐中国建设银行官网登录首页
  • 麻城做网站asp网站建设报告书
  • 做ppt用什么网站网站兼容ie7
  • 做网站的基本步骤typecho和wordpress
  • 装饰网站建设公司华强北 网站建设
  • 自适应网站m域名必须做301网络技术工程师是干嘛的
  • 单位建网站的优势网站网站开发教程
  • 郑州艾特软件 网站建设seo专业培训机构
  • 优化方案官网se 网站优化
  • 免费推广企业网站宣城网站推广
  • 舒兰市城乡建设局网站柳江企业网站建设公司