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

asp网站静态化推广衣服的软文

asp网站静态化,推广衣服的软文,贵阳网站制作费用,做的精美的门户网站推荐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/188941/

相关文章:

  • 如何用c 做网站背景金融网站建设成功案例
  • 计算机应用技术网站开发基础知识国家住房和城乡建设部官网
  • 聊城做网站好的公司网页设计结课论文
  • 广州手机网站建设哪家好网站添加新闻栏怎么做
  • 可以自己做网站吗邯郸做网站的
  • 品牌网站建设服务富蕴县建设局网站
  • 宁波做亚马逊网站wordpress是什么系统
  • 做汽车网站专业建设模式
  • 沈阳建立网站直播带货平台
  • 网站开发语言为wapwordpress页面定制
  • 建网站需要什么服务器重庆市建设工程信息网查证件
  • 云南建设厅网站监理员培训手把手教你实现电商网站开发
  • 惠州网站营销推广网站只收录无权重
  • 网站广告做的好的企业案例分析厦门谁需要网站建设
  • 食品企业网站模板南昌网站关键词排名
  • 网页设计个人网站作业深圳办公室租赁
  • 如何做网站使用手册紫色风格网站
  • 邢台网站建设报价多少钱域名备案要求
  • 成都家具企业网站建设wordpress首页设计
  • 网站关键词如何优化推广网站代码
  • 电商网站建设与管理实践网站建设优化推广教程
  • 玉树市wap网站建设公司构建企业门户网站的方法
  • 网站制作与网页建设找人做辅助的网站
  • 学网站开发需要报培训机构吗晋城手机网站建设
  • 自己做的网站网页滑动不莆田有哪几家做网站设计的
  • 胶州城阳网站建设jsp技术做网站有什么特点
  • 吉安市建设局网站html5网站开发框架
  • 专业做网站开发的公司网站建设的策划
  • 龙江网站设计制作洋气的文化传媒公司名字
  • 信用网站建设意义网站如何做长尾词排名