java核心api_JAVA核心API(下)

第八章 JAVA集合

第一节:Java集合的引入

数组的长度是固定,不能根据我们的需求自动变长或者变短。所以就引入了可变化长度的集合。

第二节:List集合

List集合里的元素是可以重复的。List接口的主要实现类有ArrayList,和LinkedList。

在数据量不大的情况下,这两个类性能差别不大,一般情况下,集合里的元素很少变化的,一般用ArrayList,

1. 数据量较大时在随机查询方面,ArrayList比较优秀,在ArrayList中进行随机访问所消耗的时间是固定的,而LinkedList是不支持快速的随机访问的。

2. 假如有一个列表,要对其进行大量的插入和删除操作,在这种情况下LinkedList就是一个较好的选择。

当一个元素被加到ArrayList的最开端时,所有已经存在的元素都会后移,这就意味着数据移动和复制上的开销。相反的,将一个元素加到LinkedList的最开端只是简单的为这个元素分配一个记录,然后调整两个连接。

参考: http://pengcqu.iteye.com/blog/502676

第三节:集合的遍历

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*** 用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

第三节:线程状态

0b05b1a88e5832be17fbd18382041d0f.png

第四节:线程常用方法

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 流的分类

根据处理数据类型的不同分为:字符流和字节流

根据数据流向不同分为:输入流和输出流

adf18319ea286a4c792c35ab98e25077.png第二节:文件操作 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之间建立内存缓冲区,读取得快,就先放缓冲区,然后再从缓冲区写入指定目标,和没有缓冲比,效率快很多。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值