电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

一名java培训生的学习笔记(基础部分2)VIP免费

一名java培训生的学习笔记(基础部分2)_第1页
1/75
一名java培训生的学习笔记(基础部分2)_第2页
2/75
一名java培训生的学习笔记(基础部分2)_第3页
3/75
第十三章2007年6月17日星期日授课教师:学生:第一节HashMap类常见的方法及其用法publicclassTest{publicstaticvoidmain(String[]args){//创建5个Bean的对象b1-b5并对它们进行初始化Beanb1=newBean();b1.setAge(23);b1.setName("Bob");Beanb2=newBean();b2.setAge(23);b2.setName("Bob");Beanb3=newBean();Beanb4=newBean();b4.setAge(30);b4.setName("Jack");Beanb5=newBean();b5.setAge(29);b5.setName("wang");HashMaph=newHashMap();//创建HashMap类型对象h;//并调用put方法,将它们取个key名(外号),加入到Map中h.put("1",b1);h.put("2",b2);h.put("3",b3);h.put("4",b4);h.put("5",b5);h.remove("3");//调用remove()方法,将key值为"3"的元素移除HashMapSystem.out.println(h.size());//输出Map中的元素数Beantemp=(Bean)h.get("5");//将key值为"5"的元素取出来,并恢复其Bean身份,并其引用返回给tempSystem.out.println(temp.getAge());System.out.println(temp.getName());//输出key值为"5"的属性值}}第二节equals方法和hashCode方法的重写在处理两个对象之间关系时,有时会需要判断两个对象是否相等,如果他们的引用指向的是同一个对象,那么它们是相等的。如Object中的equals方法。如果它们指向的是同一类型的不同对象,但是他们的属性值是相等的,也就是说它们的内容是相等的,那么我们就需要重写equals方法,例如:String中的equals方法就是Object中的equals方法的重写。如果我们自己定义一个类,需要将自己写的类型的两个对象equals。那么我们就需要在该类中重写Object中的equals方法。重写完equals方法后还需要重写hashCode方法。因为当我们用Hash容器(如HashMap、HashSet)装载这些对象时,例如,将一个对象用add方法加入Set时,会产生一个HashCode,当我们又创建一个同类型内容相同的对象时,又变成另外一个HashCode了,它们在容器中的HashCode是随机的生成的,那么你就无法取得该对象了。如果我们要判断容器中是否装进了某种类型的对象,那么就需要重写hashCode方法,因为equals方法返回true的对象,它们的hashCode是相同的,重写hashCode方法就是让计算机在同一HashCode中寻找,否则计算机出于Hash容器的高效性考虑,不会去在已经存放该对象的hashCode中寻找,当然也就找不到了。重写equals方法和hashCodepublicclassMoney{//创建名叫Money这个类publicintvalue=0;//定义int型数据成员value,并初始化为0。publicMoney(){//创建无参数的构造方法}publicMoney(inti){//带有参数的构造方法value=i;}publicbooleanequals(Objectobj){//重写时需要注意重写的方法定义的要求if(obj==null){//判断形参的是否为空。如果是,返回falsereturnfalse;}if(this==obj){//判断形参对象与调用该方法的当前对象是否指向同一对象,如果是返回true.returntrue;}if(!(objinstanceofMoney)){//判断形参对象是否是Money的实例,如果不是,返回false.returnfalse;}Moneymo=(Money)obj;//将形参引用恢复成该对象的身份。if(mo.value!=this.value){//如果他们的内容不相等,返回falsereturnfalse;}returnture;如果都不是上面的情况返回true}publicinthashcode(){//重写hashcode方法,使它们的hashcode保持一致returnvalue;}我们在eclipse中测试一下:如果我们不重写hashCode方法。那么输出的将会是flase如果我们将每个对象都存放在同一hashCode中,那样查找的效率就会很低,但是我们还可以利用String中的hashCode的算法,去重新写hashCode方法。publicinthashCode(){Stringstr=String.valueOf(value);//将整型的value转化为String型的strreturnstr.hashCode();//用String中的hashCode的算法,返回hashCode}第十四章2007年6月18日星期一授课教师:学生:第一节如何创建一个文件对象有三种方式:1、Filemyfile=newFile(“d:/java/a.txt”);2、Filemyfile1=newFile(“d:/java”,a.txt”);3、Filemyfile2=newFile(“myfile1”,b.txt”);File类中常见的方法举例说明:importjava.io.File;importjava.io.IOException;//导入java.io包中的File和IOException两个类publicclassFileName{publicst...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

一名java培训生的学习笔记(基础部分2)

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部