java-SE-10

集合,迭代器这些都和c++差不多;List,LinkList,Arrays,ArrayList,Queue,Stack,Iterator;

具体实现在c语言中和数据结构课程中有;

映射表

map,是key/value结构,也就是键值对,如果提供了键,就可以找到值;java提供了两个通用的实现HashMap和TreeMap,散列表没有排序,对键进行散列,树映射表用键对元素进行排列,形成搜索树;两者都实现了Map接口;散列或者比较函数只能作用于键,与键关联的值不能进行比较或散列,键必须唯一,用remove来删除对应元素,size返回个数;

获取键对应的值: get(key);

将键值对映射到表中,如果存在了,则覆盖为新的值;

putAll()将映射表加入另个映射表;


Set<Map.Entry<K,V>> entrySet()
返回map所有对象,可以删除,但不能添加;

Collection<v> values();返回映射表中的所有值的集合,可以删除不能添加;
Set<K> keySet()返回所有键的集合,可以删除元素,但是无法添加;

getKey() 返回这个条目的键;

getVlaue()返回这个条目的值;

多线程

线程,一个进程可以有多个线程,这里定义自己领悟;

线程,是继承与Thread类或实现Runable()接口;

当用实现Runable接口定义线程时为:

xxx extends Runable();

xxx  a=new xxx();

Thread t=new Thread(a);

进程主要运行的是run()里的语句

因为实现Runable接口就是实现了run方法,启动线程则xxx.start();

sleep()阻塞进程多少毫秒1000ms=1s;

join()等待线程;setPriority()设置优先级;

互斥锁关键字synchronized加在方法前面,在返回类型之前;

ReenranLock显式锁类

lock();获取锁;


文件读取


先定义文件路径,然后定义输入流对象,然后定义输入writer方法(),写入文件;


读取文件,则为先定义输出流,定义输出流读取对象,读取;

在java中,可以从其读入一个字节流序列的对象叫做输入流,可以从中写入一个字节流对象的吉奥组输出流,这些字节流的来源可以是文件或者是网络连接,内存块等等。

读取,输入流,写入,输出流;

定义一个输入输入流对象,然后使用其中的read方法或者是write方法,然后关闭流;其中输入输出流对象的write方法和read方法,都是以字节为单位,但是从Reader,Writer中继承来的读写方法都是以Unicode的双字节形式读取;

流分为处理字节和处理字符,DataInput是处理字符的;

正如FileInputStream没有任何读入数值类型方法一样,DataInputStream也没有热何从文件中获取数据的方法;

Java使用了一种灵巧的机制来分离这两种职责;,某些流(例如FileInputSream,URL类的openStream方法返回的输入流)可以从文件和其他外部的位置上获得字节,而其他流(例如DataInputStream和PrintWriter)可以将字节组装成更有用的数据类型;java程序员必须将其组合,首先创建一个流读入数据,例如FileInputStream然后将其传递给DataInputStream的构造器作为参数,然后调用相应的读写方法;

当然,如果你不要求数据类型的话你也可以直接调用读取数据的那个流的read或write的方法;

如果创建一个带缓冲区的流,只有当缓冲区写满或者被强行冲刷的时候才会写出;



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值