2021.8.1复习博客常用类、集合、IO流

这篇博客详细介绍了Java中的常用类,包括Object类的特性,Math类的数学函数,System类的系统属性获取,以及集合接口的List、Set、Stack、Queue和HashMap的使用。同时,还深入讲解了IO流的InputStream、OutputStream、Reader和Writer类的基本操作。
摘要由CSDN通过智能技术生成

常用类

java.lang Java语言的核心类库(Java是自动导入java.lang.*的)

java.util实用工具

java.io标准输入/输出类库

java.awt javax.swing图形用户界面(GUI)的类库

java.net网络功能的类库

java.sql数据库访问的类库

Object类

所有类的直接或间接的父类,让所有的类有了一致性

(1)equals()

与==不同,equals是内容(含义)相等

Integer one = new Integer(1);
Integer anotherOne = new Integer(1);
if(one == anotherOne)//false
if(one.equals(anotherOne))//true

(2)getClass()

getClass()方法是final方法,不能被重载

它返回一个对象在运行时所对应的类的表示

void PrintClassName(Object obj){
    System.out.println("The object's class is" + obj.getClass().getName());
}
Object creatNewInstanceOf(object obj){
    return obj.getClass().newInstance();
}

(3)toString()

toString()方法用来返回对象的字符串表示

常用于显示System.out.println(person);

另外,用于字符串的加号"current person is "+person

(4)finalize()

用于在垃圾收集前清除对象

(5)notify()、notifyAll()、wait()与线程相关,后续补充

math类

PI圆周率

exp(double a)//参数次幂

log(double a)//自然对数

random()//产生0和1(不含1)之间的伪随机数

sqrt(double a)//平方根

System类

1.在Java中,系统属性可以通过环境变量来获得:

System.getProperty(String name)方法获得特定的系统属性值

System.getProperties()方法获得一个Properties类的对象,其中包含了所有可用的系统属性信息

2.在命令运行Java程序时可使用-D选项添加新的系统属性

如java -Dvar=value MyProg

集合

Collection接口:有两个子接口

1.List:记录元素的保存顺序,且允许有重复元素

2.Set:不记录元素的保存顺序,且不允许有重复元素

List

List接口:线性表

主要实现类是ArrayList.LinkedList,以及早期的Vector

Iterator

迭代器Iterator,多用于迭代或者遍历

//Iterator itertor = iterable.iterator();

//while(iterator.hasNext()) doSomething(iterator.next())

Stack 栈

遵循“后进先出”原则

包含三个方法:

public Object push(Object item):将指定对象压入栈中

public Object pop():将栈最上面的元素从栈中取出,并返回这个对象

public boolean empty():判断栈中有没有元素

Queue队列

遵循“先进先出”原则

固定在一段输入数据(称为入队),另一端输出数据(称为出队)

Set集

两个重要的实现HashSet及TreeSet

其中TreeSet的底层是用TreeMap来实现的

Set中对象不重复,即:
hashCode()不等;//ASCII码值不等

如果hashCode()相等,再看equals或==是否为false

HashMap

HashMap的默认出事长度是16,且每次自动扩展或手动初始化的时候,长度必须是2的幂

HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。

HashMap数组每一个元素的初始值都是Null

在这里插入图片描述

对于HashMap,两个方法:GetPut

Put:

index = Hash(“自定义字符串”);

假设算出来index为2,则插入第二个元素位置

在这里插入图片描述

如果不同元素算出的index重复,则采用链表

在这里插入图片描述

Get:

Hash冲突,同一个位置有可能匹配到多个Entry,这时候就需要顺着对应链表的头节点,一个一个向下来查找。

IO流(输入/输出流)

字节流字符流
输入InputStreamReader
输出OutputStreamWriter

InputStream类

read()方法

逐字节以二进制方式读取数据:

public int read();读入一个字节,-1表示无(即没有读到)

public int read(byte b[]);返回读入的字节数

public int read(byte[] b,int off,int len);

OutputStream类

write()方法

功能为将字节写入流中

public void write(int b);//将参数b的低位字节写入到输出流

public void write(byte b[]);//将字节数组b[]中的全部字节顺序写入到输出流

Output的另外两个方法是flush()及close()

public void flush();//刷新缓存,实际写入到文件、网络

public void close();//关闭流

Reader类

与InputStream类相似,都是输入流
差别在于Reader类读取的是字符(char),而不是字节
Reader的重要方法是read()
public int read();//需要将int转成char
public int read(char b[]);
public int read(charp[] b,int off,int len);

Writer类

与OutputStream类相似,都是输出流
差别在于Writer类写入的是字符(char),而不是字节
Writer的方法有:
public void writer(int b)//将参数b的低两字节写入到输出流
public void writer(char b[])//将字符数组b[]中的全部字节顺序写入到输出流
public void writer(char[] b,int off,int len);//将字节数组b[]中从off开始的len个字节写入到输出流
public void writer(String s);//将字符串写入到流中
public void writer(String s,int off,int len);//将字符串写入到流中,起始位置为off,长度为len
public void flush();//刷新流
public void close();//关闭流

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值