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

上那个网站找手工活做网站怎么做搜狗排名

上那个网站找手工活做,网站怎么做搜狗排名,建设银行网站,wordpress 鼠标悬停本人博客《HashMap、HashSet底层原理分析》#xff0c;可以了解hashmap的底层源码实现 测试代码 HashSet底层实际就是一个Hashmap。猜猜下面源码每一个打印结果。 注#xff1a;user对象重写的hashcode方法#xff0c;保证name和age一样的情况下hashcode是一样的#xff…本人博客《HashMap、HashSet底层原理分析》可以了解hashmap的底层源码实现 测试代码 HashSet底层实际就是一个Hashmap。猜猜下面源码每一个打印结果。 注user对象重写的hashcode方法保证name和age一样的情况下hashcode是一样的 import java.util.*;public class HashmapTest {public static void main(String[] args) {HashMap map new HashMap();User u1 new User(AA);User u2 new User(BB);map.put(u1,1);map.put(u2,2);System.out.println(结果一(put u1 u2 后)map);// u1 重新Set nameu1.setName(CC);System.out.println(结果二(u1 set name 后)map);// 移除 u1map.remove(u1);System.out.println(结果三(remove u1 后)map);// put user(CC)map.put(new User(CC),3);System.out.println(结果四(put user(CC) 后)map);// put user(AA)map.put(new User(AA),4);System.out.println(结果五(put user(AA) 后)map);} }class User{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public User(String name, int age) {this.name name;this.age age;}public User(String name) {this.name name;}public User() {}Overridepublic String toString() {return User{ name name \ , age age };}Overridepublic int hashCode() {return Objects.hash(name, age);} }测试结果 结果一(put u1 u2 后){User{nameBB, age0}2, User{nameAA, age0}1} 结果二(u1 set name 后){User{nameBB, age0}2, User{nameCC, age0}1} 结果三(remove u1 后){User{nameBB, age0}2, User{nameCC, age0}1} 结果四(put user(CC) 后){User{nameBB, age0}2, User{nameCC, age0}3, User{nameCC, age0}1} 结果五(put user(AA) 后){User{nameBB, age0}2, User{nameCC, age0}3, User{nameCC, age0}1, User{nameAA, age0}4}分析 结果一和结果二属于Java基础 结果三分析 结论并没有移除u1成功。 map.remove(u1);1、了解put方法做了哪些事 map.put(u1,1); 第一次put时数组下标、Node节点中保存的hash均是通过new User(“AA”)计算并保存的 2、SetName后该节点中保存了什么 u1.setName(“CC”); SetName时只改变了值Node节点在数组中的位置、Node节点中保存的hash值均还是new User(“AA”)的 3、了解map是怎么实现remove remove和put是类似的通过remove传入的对象经过计算下标然后和该下标内的数据进行比对(hash值相等 且 ( 或 equals))。 原Node在数组中下标、Node内hash值均保存的是new User(“AA”)但是remove传入的却是CC就算下标一样hash值肯定是不一样的所以并不会移除u1对象 结果四分析 结论成功put。 map.put(new User(CC),3);1、通过结果三分析已经知道put时做了那些事就算Hash计算的下标一样hash值和目前存在的数据肯定是不一样的所以是可以正常加入的。 2、假设计算后下标一致u1 节点保存的hash值是AA的结果四put的是CC的hash所以肯定不一样此时是可以正常加入的 结果五分析 结论成功put。 map.put(new User(AA),4);1、通过结果三分析已经知道remove时做了那些事,实际put也一样hash冲突(下标相等)时hash值相等 且 ( 或 equals)时才会认为是相等的 2、此时put进去的new User(“AA”)和原保存进去的u1两者hash冲突(因为user对象重新了hashcode方法hashcode是一样的计算后的下标是一样的)hash值也相等(都是AA的)但是u1实际保存的Name是CC不论是还是equals均返回的是false所以也是可以正常put进去的
http://www.w-s-a.com/news/985307/

相关文章:

  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录
  • seo做网站郑州巩义网站建设
  • 建设银行网站机构特点业务发展网站推广工作计划
  • 国家信用信息系统年报seo推广赚钱
  • 公司建设网站价格表广州免费拍卖公司
  • 知行网站建设wordpress文章半透明
  • 建设网站的虚拟机配置建设银行宁波分行招聘网站
  • 济南网站开发xywlcn网络推广服务合同模板
  • 品牌网站制作流程图用asp做网站题目
  • 兰州市建设厅网站河南网站建设问一问公司
  • 高档网站建设前端网站大全