第八章 JAVA集合
第一节:Java集合的引入
数组的长度是固定,不能根据我们的需求自动变长或者变短。所以就引入了可变化长度的集合。
第二节:List集合
List集合里的元素是可以重复的。List接口的主要实现类有ArrayList,和LinkedList。
在数据量不大的情况下,这两个类性能差别不大,一般情况下,集合里的元素很少变化的,一般用ArrayList,
1. 数据量较大时在随机查询方面,ArrayList比较优秀,在ArrayList中进行随机访问所消耗的时间是固定的,而LinkedList是不支持快速的随机访问的。
2. 假如有一个列表,要对其进行大量的插入和删除操作,在这种情况下LinkedList就是一个较好的选择。
当一个元素被加到ArrayList的最开端时,所有已经存在的元素都会后移,这就意味着数据移动和复制上的开销。相反的,将一个元素加到LinkedList的最开端只是简单的为这个元素分配一个记录,然后调整两个连接。
参考: http://pengcqu.iteye.com/blog/502676
第三节:集合的遍历
/*** 用Iterator遍历集合*/Iterator it=list.iterator(); //返回一个迭代器
while(it.hasNext()){
Student s=it.next(); //返回迭代的下一个元素。
System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());
}/*** 用foreach遍历*/
for(Student s:list){
System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());
}
View Code
第四节:Set集合
Set集合是Collection接口的子接口,没有对Collection接口进行扩展,里面不允许存在重复的内容;HashSet--无序,不重复。
第五节:Map集合
HashMap
第九章 JAVA多线程
第一节:Java多线程的引入
第二节:Java多线程的实现
1,继承Thread类
2,实现Runnable接口
3,多线程实现数据共享
http://blog.java1234.com/blog/articles/230.html
第三节:线程状态
第四节:线程常用方法
1,getName(); 返回该线程的名称。
2,currentThread();返回对当前正在执行的线程对象的引用。
3,isAlive();测试线程是否处于活动状态。
4,sleep();线程休眠。
5,setPriority(int newPriority);更改线程的优先级。
6,yield();暂停当前正在执行的线程对象,并执行其他线程。
http://blog.java1234.com/blog/articles/232.html
第五节:线程同步
可以给方法加同步,也可以用同步块:
http://blog.java1234.com/blog/articles/233.html
第十章 JAVA IO流
第一节:IO流简介
IO 流的分类
根据处理数据类型的不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流
第二节:文件操作 File类
1,public boolean mkdir() 创建此抽象路径名指定的目录。
2,public boolean createNewFile() 创建一个文件
3,public boolean delete() 删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则该目录必须为空才能删除。
4,public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
5,public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
6,public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
http://blog.java1234.com/blog/articles/235.html
File file=new File("C://apache-tomcat-7.0.63");...运行输出:C:\apache-tomcat-7.0.63
系统中的路径都是“\”, 在java中需要转义“\\”, 如果写成“//”或者“/”也没问题(本人验证过)。
第三节:InputStream和OutputStream
InputStream输入流可以把文件从硬盘读取到内存;
OutputStream输出流可以把文件从内存写入到硬盘;文件操作方面用的是FileInputStream和FileOutputStream;
http://blog.java1234.com/blog/articles/237.html第四节:BufferedInputStream和BufferedOutputStream
带缓冲的输入和输出流;缓冲的概念,就是在A,B之间建立内存缓冲区,读取得快,就先放缓冲区,然后再从缓冲区写入指定目标,和没有缓冲比,效率快很多。
public classDemo01 {/*** 缓冲方式
*@throwsException*/
public static void bufferStream()throwsException{
BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("c://《一头扎进J2SE》V2.0视频笔录2.doc"));
BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("c://复制的《一头扎进J2SE》V2.0视频笔录2.doc"));int b=0;long startTime=System.currentTimeMillis();while((b=bufferedInputStream.read())!=-1){
bufferedOutputStream.write(b);
}
bufferedInputStream.close();
bufferedOutputStream.close();long endTime=System.currentTimeMillis();
System.out.println("缓冲方式话费的时间:"+(endTime-startTime));
}/*** 非缓冲方式
*@throwsException*/
public static void stream()throwsException{
InputStream inputStream=new FileInputStream("c://《一头扎进J2SE》V2.0视频笔录.doc");
OutputStream outputStream=new FileOutputStream("c://复制的《一头扎进J2SE》V2.0视频笔录.doc");int b=0;long startTime=System.currentTimeMillis();while((b=inputStream.read())!=-1){
outputStream.write(b);
}
inputStream.close();
outputStream.close();long endTime=System.currentTimeMillis();
System.out.println("非缓冲方式话费的时间:"+(endTime-startTime));
}public static void main(String[] args) throwsException {//stream();
bufferStream();
}
}
View Code
第五节:Reader和 Writer
主要用于文本的读取和写入,一般使用的实现类是FileReader和FileWriter;
http://blog.java1234.com/blog/articles/239.html
第十一章 JAVA debug断点调试
第一节:断点调试的重要性
第二节:eclipse debug使用基本操作
第三节:常见调试 F6 单步 F8完成 F5进入方法
第四节:ctrl+shift+i 查看表示式值
第五节:运行时动态修改变量值
http://blog.java1234.com/blog/articles/245.html