java编程思想读书笔记(9.2章)

java编程思想读书笔记(9.2章)

ID:9504705

大小:80.50 KB

页数:11页

时间:2018-05-01

java编程思想读书笔记(9.2章)_第1页
java编程思想读书笔记(9.2章)_第2页
java编程思想读书笔记(9.2章)_第3页
java编程思想读书笔记(9.2章)_第4页
java编程思想读书笔记(9.2章)_第5页
资源描述:

《java编程思想读书笔记(9.2章)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Java编程思想读书笔记(9.2章)  4.自己实现一个简单的HashMap及其原理  4.1在put()方法中:  1)首先通过key得出要插入的key-valuepair的hashcode,并这个hashcode作为索引在数组bucket中找出key所对应的元素。  2)把要插入的key-valuepair封装成实现了Map.Entry接口的类的一个对象。  3)在操作1)所找出的数组元素(也是一个LinkedList)中查看是否有与要插入的key-valuepair的key相同的元素,如果有,则对之进行更新;如果无,则把要插入的key-valuepair数组元素中。  4.2在ge

2、t()方法中  1)首先通过key得出要查找的key-valuepair的hashcode,并这个hashcode作为索引在数组bucket中找出key所对应的元素。  2)把要查找的key-valuepair的key封装成实现了Map.Entry接口的类的一个对象。  3)在操作1)所找出的数组元素(也是一个LinkedList)中查看是否有与要插入的key-valuepair的key相同的元素,如果有,则返回key所对应的value;如果无,则返回一个null。  4.3一个实例 importjava.util.*;  /**  *MPair类实现了Map.Entry  */  cl

3、assMPair  implementsMap.Entry,parable{  Objectkey,value;  MPair(Objectk,Objectv){  key=k;  value=v;  }  publicObjectgetKey(){returnkey;}  publicObjectgetValue(){returnvalue;}  publicObjectsetValue(Objectv){  Objectresult=value;  value=v;  returnresult;  }  /**  *当比较两个MPair对象时,比较的是它们的key值  */  pub

4、licbooleanequals(Objecto){  returnkey.equals(((MPair)o).key);  }  publicintpareTo(Objectrv){  return(((parable)key).pareTo(((MPair)rv).key));  }  }  classSimpleHashMapextendsAbstractMap{  privatefinalstaticintSZ=997;  privateLinkedList[]bucket=neap.Entry的实现类后插入到array中  */  publicObjectput(Objectk

5、ey,Objectvalue){  Objectresult=null;  //通过key得到要插入的key-valuepair的hashcode  intindex=key.hashCode()%SZ;  if(index<0)index=-index;  if(bucket[index]==null)  bucket[index]=nePair  MPairpair=nePair(key,value);  ListIteratorit=pairs.listIterator();  booleanfound=false;  //检查是否有与要插入的key相同的key存在,如果有,

6、就对之进行更新  Pair)iPair).getValue();  it.set(pair);  found=true;  break;  }  }  //如果无,则把新的key-valuepair插入  if(!found)  bucket[index].add(pair);  returnresult;  }  publicObjectget(Objectkey){  intindex=key.hashCode()%SZ;  if(index<0)index=-index;  if(bucket[index]==null)returnnull;  LinkedListpairs

7、=bucket[index];  ListIteratorit=pairs.listIterator();  M1234下一页[教育资源网]edu..,。Pairmatch=neatch))  return((MPair)iPair).getValue();  }  returnnull;  }  publicSetentrySet(){  Setentries=neain(String[]args){  SimpleHashMap

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。