[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rG7xNEYF-1659865029390)(C:Users黎博文AppDataRoamingTyporatypora-user-imagesimage-20220806125639724.png)]
ArrayList ArrayList常用方法常用方法 | 返回值 | 作用 |
---|---|---|
add(Object obj) | boolean | 添加obj到集合的末尾 |
add(int index,Object obj) | void | 添加obj到index索引上 |
get(int index) | Object | 得到指定index索引的元素 |
set(int index,Object obj) | Object | 使用obj覆盖index索引的元素,返回被覆盖的元素 |
size() | int | 获取集合中的元素数量 |
isEmpty() | boolean | 判断集合是否为空 |
clear() | void | 清空集合 |
remove(Object obj) | boolean | 删除指定obj对象 |
remove(int index) | Object | 删除指定Index索引的元素,返回被删除的元素 |
contains(Object obj) | boolean | 判断是否存在obj元素 |
indexOf(Object obj) | int | 得到元素obj第一次出现的索引 |
lastIndexOf(Object obj) | int | 得到元素obj最后一次出现的位置 |
toArray() | Object[] | 将集合转换为数组 |
subList(int from,int to) | List | 得到[from,to)区间内的元素 |
常用方法 | 作用 |
---|---|
pop() | 得到并移除头结点(出栈) |
peek() | 得到头结点 |
getFirst() | 得到头结点 |
push(Object obj) | 添加头结点(入栈) |
addFirst() | 添加头结点 |
addLast() | 添加尾结点 |
offer(Object) | 添加尾结点 |
remove() | 删除头结点 |
poll() | 删除头结点 |
removeFirst() | 删除头结点 |
removeLast() | 删除尾结点 |
getLast() | 得到尾结点 |
常用方法 | 说明 |
---|---|
add(Object obj) | 添加元素到集合中 |
size() | 得到元素数量 |
isEmpty() | 判断集合是否为空 |
remove(Object obj) | 根据对象删除元素 |
contains(Object obj) | 判断是否存在某个元素 |
toArray() | 将集合转换为Object数组 |
clear() | 清空集合 |
常用方法 | 作用 |
---|---|
add(Object obj) | 添加元素到集合中 |
size() | 得到元素数量 |
isEmpty() | 判断集合是否为空 |
clear() | 清空集合 |
ceiling(Object obj) | 得到比指定元素大的最小元素 |
floor(Object obj) | 得到比指定元素小的最大元素 |
first()/last() | 得到第一个/最后一个元素 |
put(Object key,Object Value) | 添加一组键值对 |
---|---|
get(Object key) | 根据键得到值 |
size() | 得到键值对的数量 |
clear() | 清空所有键值对 |
keyset() | 得到所有键的集合 |
values() | 得到所有值的集合 |
containtsKey(Object key) | 判断是否包含某个键 |
containsValue(Object value) | 判断是否包含某个值 |
remove(Object key) | 根据键删除键值对 |
常用构造方法 | 说明 |
---|---|
FileInputStream(String pathName) | 根据文件名创建文件字节输入流对象 |
FileInputStream(File file) | 根据文件对象创建文件字节输入流对象 |
常用方法 | 作用 |
---|---|
read() | 读取一个字节。返回读取到的字节本身。 |
read(byte[] b) | 按字节数组读取。返回读取到的字节数量。读取到的内容保存在了字节数组中 |
close() | 关闭流对象 |
按字节将数据写入到本地文件中,本地文件可以不存在
构造方法常用构造方法 | 说明 |
---|---|
FileOutputStream(String pathName) | 根据文件名创建文件字节输出流对象,写入内容时覆盖原内容 |
FileOutputStream(String pathName,boolean append) | 根据文件名创建文件字节输出流对象,写入内容时追加在原内容之后 |
FileOutputStream(File file) | 根据文件对象创建文件字节输出流对象,写入内容时覆盖原内容 |
FileOutputStream(File file,boolean append) | 根据文件对象创建文件字节输出流对象,写入内容时追加在原内容之后 |
常用方法 | 作用 |
---|---|
write(int i) | 写入一个字节 |
write(byte[] bytes) | 写入一个字节数组 |
write(byte[] bytes,int off,int len) | 写入字节数组中从off开始的len个字节 |
flush() | 将数据冲刷到本地文件中 |
close() | 关闭流对象 |
常用构造方法 | 说明 |
---|---|
FileReader(String fileName) | 根据文件名创建文件字符输入流对象 |
FileReader(File file) | 根据文件对象创建文件字符输入流对象 |
常用方法 | 作用 |
---|---|
ready() | 判断是否还有下一个字符 |
read() | 读取下一个字符,返回读取到的字符 |
read(char[] chars) | 按字符数组读取字符,返回读取到的字符数量,读取到的字符保存在了字符数组中 |
close() | 关闭流对象 |
常用构造方法 | 说明 |
---|---|
FileWriter(String fileName) | 按文件名创建字符输出流对象 |
FileWriter(String fileName,boolean append) | 按文件名创建字符输出流对象,允许追加写入 |
FileWriter(File file) | 按文件对象创建字符输出流对象 |
FileWriter(File file,boolean append) | 按文件对象创建字符输出流对象,允许追加写入 |
常用方法 | 作用 |
---|---|
write(String str) | 按字符串写入 |
write(char[] c) | 按字符数组写入 |
write(String str,int off,int len) | 按字符串写入,从off开始写入len个字符 |
write(char[] c,int off,int len) | 按字符数组写入,从off开始写入len个字符 |
flush() | 冲刷流中的数据到硬盘中(必须调用该方法或close方法后,才能真正写入) |
close() | 关闭流对象 |
常用构造方法 | 说明 |
---|---|
BufferedReader(Reader reader) | 创建一个带有缓冲区(字符数组)的字符输入流对象,默认缓冲区大小为8192。参数注意是一个Reader类型的对象,但Reader是一个抽象类,所以要使用其子类,如FileReader,然后在FileReader中定义要读取的文件信息 |
BufferedReader(Reader reader,int size) | 创建一个指定缓冲区(字符数组)大小的字符输入流对象 |
常用方法 | 作用 |
---|---|
ready() | 判断是否还有字符 |
readLine() | 读取整行字符 |
close() | 关闭流对象 |
自带字符数组(缓冲区)的字符输出流。
构造方法常用构造方法 | 说明 |
---|---|
BufferedWriter(Writer writer) | 创建一个带有缓冲区(字符数组)的字符输出流对象,参数为一个Writer对象,但Writer是一个抽象类,所以要使用其子类,如FileWriter对象,在FileWriter中定义要写入的文件 |
BufferedWriter(Writer writer,int size) | 创建一个指定缓冲区(字符数组)大小的字符输出流对象 |
常用方法 | 作用 |
---|---|
write(String str) | 写入一个字符串 |
newLine() | 换行 |
flush() | 将输出流中的字符冲刷到文件中 |
close() | 关闭流对象 |
-
获取当前正在运行的线程对象
//获取当前运行的线程对象 Thread ct = Thread.currentThread();
-
创建一个线程对象
构造方法常用构造方法 说明 Thread() 创建一个默认的线程对象 Thread(String name) 创建一个指定线程名的线程对象 Thread(Runnable target) 将一个Runnable对象包装为线程对象 Thread(Runnable target,String name) 将一个Runnable对象包装为线程对象同时命名
常用方法 | 作用 |
---|---|
setName(String str) | 设置线程名称 |
setPriority(int i) | 设置线程优先级(1~10),数字越大优先级越高,线程越先执行完 |
setDaemon(boolean f) | 是否将该线程设置为守护线程 |
getId() | 获取线程ID |
getName() | 获取线程名,主线程名默认main,自定义线程名默认Thread-N |
getPriority() | 获取线程优先级 |
getState() | 获取线程状态 |
isDaemon() | 判断该线程是否属于守护线程 |
start() | 启动线程 |
run() | 线程启动后执行的方法 |
Thread.currentThread() | 获取当前运行的线程对象 |
Thread.sleep(long m) | 设置当前线程休眠m毫秒 |
Thread.yield() | 线程让步,让其他线程执行 |
- 1.让某个类成为Thread类的子类
- 2.重写Thread类中的run方法,将要让该线程执行的内容写在该方法中
- 3.创建Thread类的对象后,调用start()方法,启动线程
由于Java中是单继承,所以如果某个类已经使用了extends关键字去继承了另一个类,这时就不能再使用extends继承Thread类实现多线程,就需要使用实现Runnable接口的方法实现多线程。
- 1.自定义一个类,实现Runnable接口
- 2.重写run方法,将要多线程执行的内容写在该方法中
- 3.创建Thread线程对象,将自定义的Runnable接口实现类作为构造方法的参数
- 4.调用线程对象的start()方法启动线程
如果不想创建一个Runnable接口的实现类,就可以使用匿名内部类充当Runnable接口的实现类
线程的生命周期 新生状态当线程对象被实例化后,就进入了新生状态。new Thread()
就绪状态当某个线程对象调用了start()方法后,就进入了就绪状态。
在该状态下,线程对象不会做任何事情,只是在等待CPU调用。
运行状态当某个线程对象得到运行的机会后,则进入运行状态,开始执行run()方法。
不会等待run()方法执行完毕,只要run()方法调用后,该线程就会再进入就绪状态。这时其他线程就有可能穿插其中。
阻塞状态如果某个线程遇到了sleep()方法或wait()等方法时,就会进入阻塞状态。
sleep()方法会在一段时间后自动让线程重新就绪。
wait()方法只有在被调用notify()或notifyAll()方法唤醒后才能进入就绪状态。
终止状态当某个线程的run()方法中所有内容都执行完,就会进入终止状态,意味着该线程的使命已经完成。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XRVKZWiL-1659865029391)(C:Users黎博文AppDataRoamingTyporatypora-user-imagesimage-20220807172951429.png)]
线程异步执行 使用synchronized关键字修饰方法 使用synchronized关键字修饰代码块程遇到了sleep()方法或wait()等方法时,就会进入阻塞状态。
sleep()方法会在一段时间后自动让线程重新就绪。
wait()方法只有在被调用notify()或notifyAll()方法唤醒后才能进入就绪状态。
终止状态当某个线程的run()方法中所有内容都执行完,就会进入终止状态,意味着该线程的使命已经完成。
[外链图片转存中…(img-XRVKZWiL-1659865029391)]
线程异步执行 使用synchronized关键字修饰方法 使用synchronized关键字修饰代码块