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

上传人:s9****2 文档编号:512235555 上传时间:2024-02-19 格式:DOCX 页数:75 大小:2MB
返回 下载 相关 举报
一名java培训生的学习笔记(基础部分2)_第1页
第1页 / 共75页
一名java培训生的学习笔记(基础部分2)_第2页
第2页 / 共75页
一名java培训生的学习笔记(基础部分2)_第3页
第3页 / 共75页
一名java培训生的学习笔记(基础部分2)_第4页
第4页 / 共75页
一名java培训生的学习笔记(基础部分2)_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《一名java培训生的学习笔记(基础部分2)》由会员分享,可在线阅读,更多相关《一名java培训生的学习笔记(基础部分2)(75页珍藏版)》请在金锄头文库上搜索。

1、第十三章 2007年6月17日 星期日授课教师:学生: 第一节 HashMap类常见的方法及其用法public class Test public static void main(String args) /创建5个Bean的对象b1-b5并对它们进行初始化Bean b1=new Bean();b1.setAge(23);b1.setName(Bob);Bean b2=new Bean();b2.setAge(23);b2.setName(Bob);Bean b3=new Bean();Bean b4=new Bean();b4.setAge(30);b4.setName(Jack);Bea

2、n b5=new Bean();b5.setAge(29);b5.setName(wang);HashMap h=new HashMap();/创建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中的元素数Bean temp=(Bean)h.get(5);/将key值为5的元素取出

3、来,并恢复其Bean身份,并其引用返回给tempSystem.out.println(temp.getAge();System.out.println(temp.getName();/输出key值为5的属性值第二节 equals方法和hashCode方法的重写在处理两个对象之间关系时,有时会需要判断两个对象是否相等,如果他们的引用指向的是同一个对象,那么它们是相等的。如Object中的equals方法。如果它们指向的是同一类型的不同对象,但是他们的属性值是相等的,也就是说它们的内容是相等的,那么我们就需要重写equals方法,例如:String中的equals方法就是Object中的equal

4、s方法的重写。如果我们自己定义一个类,需要将自己写的类型的两个对象equals。那么我们就需要在该类中重写Object中的equals方法。重写完equals方法后还需要重写hashCode方法。因为当我们用Hash容器(如HashMap、HashSet)装载这些对象时,例如,将一个对象用add方法加入Set时,会产生一个HashCode,当我们又创建一个同类型内容相同的对象时,又变成另外一个HashCode了,它们在容器中的HashCode是随机的生成的,那么你就无法取得该对象了。如果我们要判断容器中是否装进了某种类型的对象,那么就需要重写hashCode方法,因为equals方法返回tru

5、e的对象,它们的hashCode是相同的,重写hashCode方法就是让计算机在同一HashCode中寻找,否则计算机出于Hash容器的高效性考虑,不会去在已经存放该对象的hashCode中寻找,当然也就找不到了。重写equals方法和hashCodepublic class Money /创建名叫Money这个类public int value = 0;/定义int型数据成员value,并初始化为0。public Money()/创建无参数的构造方法public Money(int i)/带有参数的构造方法value = i;public boolean equals(Object obj)

6、/重写时需要注意重写的方法定义的要求if (obj=null)/判断形参的是否为空。如果是,返回false return false;if(this=obj)/判断形参对象与调用该方法的当前对象是否指向同一对象,如果是返回true.return true;if(!(obj instanceof Money)/判断形参对象是否是Money的实例,如果不是,返回false.return false;Money mo=(Money)obj;/将形参引用恢复成该对象的身份。if(mo.value!=this.value)/如果他们的内容不相等,返回false return false;return t

7、ure;如果都不是上面的情况返回truepublic int hashcode()/重写hashcode方法,使它们的hashcode保持一致return value;我们在eclipse中测试一下:如果我们不重写hashCode方法。那么输出的将会是flase如果我们将每个对象都存放在同一hashCode中,那样查找的效率就会很低,但是我们还可以利用String中的hashCode的算法,去重新写hashCode方法。public int hashCode()String str=String.valueOf(value);/将整型的value转化为String型的strreturn str

8、.hashCode();/用String中的hashCode的算法,返回hashCode第十四章 2007年6月18日 星期一授课教师:学生: 第一节 如何创建一个文件对象有三种方式:1、File myfile=new File(“d:/java/a.txt”);2、File myfile1=new File(“d:/java”, a.txt”);3、File myfile2=new File(“myfile1”, b.txt”);File类中常见的方法举例说明:import java.io.File;import java.io.IOException;/导入java.io包中的File和

9、IOException两个类public class FileName public static void main(String args)File f1=new File(d:/java111);/创建一个文件对象f1f1.mkdir();/创建该文件对象的目录File f=new File(d:/whjhg.txt);/创建一个文件对象fFile ff=new File(f1,www.txt);/创建一个文件对象ff,利用File中的构造方法,将其目录设置为f1所指向的路径/将文件名设置为www.txt。try /处理创建文件时可能出现的异常/如果两个文件不存在则创建这2个文件ff.c

10、reateNewFile();f.createNewFile(); catch (IOException e) /捕获异常e.printStackTrace();System.out.println(ff.canRead();/ff所指向的这个文件是否可读?System.out.println(ff.canWrite();/ ff所指向的这个文件是否可写入?System.out.println(ff.exists();/ ff所指向的这个文件是否存在?System.out.println(ff.getPath();/输出ff对象的路径名System.out.println(ff.isHidde

11、n();/ff所指向的文件是否为隐藏文件?System.out.println(ff.isFile();/ff这个对象是一个文件吗?System.out.println(f1.mkdir();/f1这个对象路径创建成功了吗?System.out.println(ff.isDirectory();/ff这个对象是目录吗?System.out.println(ff.lastModified();/ff所指向的这个文件的最后修改时间System.out.println(ff.length();/ff所指向的这个文件的大小是多少System.out.println(ff.delete();/删除ff所

12、指向的文件是否成功System.out.println(f.renameTo(f1);/是否成功的将f所指向的文件重命名为f1System.out.println(f.toString();/以字符串的形式将f对象返回在eclipse中测试一下结果:第二节 怎么样将一个创建好的文件写入一些内容import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintStream;/导入java.io包中的FileOutputStream 、IOException 、PrintStreampublic class

13、 Output /创建名叫Output的类public void write(String filename)/创建一个带有参数的无返回值的方法write/目的是将形参中所代表的路径名文件写入一些内容FileOutputStream fs=null;PrintStream ps=null;/分别创建两个FileOutputStream、 PrintStream对象fs 和ps。/将它们初始化为nulltry /处理在写入文件时可能出现的异常fs=new FileOutputStream(filename);/将fs的引用指向用该方法形参作为构造方法参数的FileOutputStream对象ps=new PrintStream(fs);/将ps的引用指向用fs作为构造方法参数的PrintStream对象ps.println(1234567890123);/调用ps对象中的println方法,将字符串1234567890123写入到文件中System.out.println(文件写入成功);/如果没有出现异常,输

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号