1、集合框架
Collection
List:有序
ArrayList:可变长度的数组,便于查找和随机访问
Linkedlist(Node):双向链表,便于插入和删除
Set:不重复
HashSet:HashMap的key的hashCode()和equls()方法共同保证不重复
Map:底层是 Entry<k,v>键值对
遍历:List:fori,增强for,迭代器
Set:增强for,迭代器
Map:entryset()、keyset()、values()
泛型:限定了集合类型的输入和输出
方法:
增:add()/put()
删:remove()
改:set() /put()
查:get()
Collections: CompareAble/new CompareTo{ int compare() {} }
2、实用类
包装类:方便泛型使用,与String类型之间的转换
装箱:把基本类型变为包装类型
拆箱:把包装类型转为基本数据类型
Integer a=1; //自动装箱
int b=new Integer(12); //自动拆箱
Math类
Random类
枚举类:特殊的类,私有构造,直接写的值都是当前类型(对象)
String:底层是字符数组,是常量,不可改变,很慢但是安全
indexOf,split,charAt,substring,toCharArray,getBytes
StringBuffer:线程安全,较慢
append(),toString()
Stringbuilder:单线程,不安全,较快
Date:UTC时间
SimpleDateFormat:“yyyy-MM-dd HH:mm:ss.S”
3、io流:InputStream、OutputStream、Reader、Writer
普通流:FileInputStream、FileOutputStream、FileReader、FileWriter
转换流:InputStreamReader、OutputSreamWriter,转换流及字符编码
高级流:
缓冲流:把(字符)流在闲时先一步读取进缓存
BufferedReader、BufferedWriter
二进制流:
先把要传输的图片、音频、视频等先放入文件流
把文件流装入DataInputSream、DataOutputStream
对象流:对象要先实现Serializable接口
ObjectInputStream、ObjectOutputStream
读取过程:
1、把文件放入文件流中
2、read(),read(b)…(放入字符串)
3、关闭流
写入过程:
与上一步基本类似
4、多线程
继承Thread类、实现Runnable接口
start()和run( )的区别:start是真正实现多线程的方法
实现Callable接口:call()方法是有返回值(泛型)
FutureTask task=new FutureTask(Callable接口的实现类的对象);
Thread t=new Thread(task);
t.start();
task.get()//获取返回值
5、反射:运行时获取对象、操作对象及其属性和方法
类型.class、对象.getClass()、Class.forName(“类的全路径”);
获取构造方法 (getDeclaredConstructor()) newInstance()
、 方法 (getDeclaredMethod(“方法名”,参数类型)) invoke()
属性 (getDeclaredField(“属性名”)) set()
权限不够的需要执行 setAccessible(true);
6、xml和json
xml格式:<?xml version="1.0" charset="UTF-8"?>
根标签、一一对应(有开头、有结束)
xml作用:传输数据、配置文件
DOM获取:
1、DocumentBuilderFactory factory=DocumentBuilderFactory.n
2、DocumentBuilder builder=factory.newDocumentBuilder();
3、Document document=builder.parse(“xml路径”);
4、Element e=document.getElementByName(“标签名称”);
5、e.item(0)
保存:
1、TransformFactory f=TransformFactory.newInstance();
2、Transform tf=f.newTransform();
3、DomSource s=new DomSource(document);
4、StreamResuit sr=new StreamResult(writer对象装入目标地址);
5、tf.tranform(s,sr);
json:对象要实现Serializable接口 要序列化
对象转json格式字符串:JSON.toJSONString(对象);
json字符串转json:JSON.parseObject(json串);
json转对象:JSON.toJavaObject(json对象,java对象类型.class);
7、正则表达式:规则表达式
匹配规则: