常用类
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,两个方法:Get 和 Put。
Put:
index = Hash(“自定义字符串”);
假设算出来index为2,则插入第二个元素位置
如果不同元素算出的index重复,则采用链表
Get:
Hash冲突,同一个位置有可能匹配到多个Entry,这时候就需要顺着对应链表的头节点,一个一个向下来查找。
IO流(输入/输出流)
字节流 | 字符流 | |
---|---|---|
输入 | InputStream | Reader |
输出 | OutputStream | Writer |
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();//关闭流