集合框架

tech2025-04-17  2

1集合框架

List: Arraylist:底层是长度可变的数组 因为有序 所以遍历查找快 LinkedList(Node):底层是双向链表 便于插入和删除 Set;不重复 HasheSet:底层是HashMap的key的hashCode()和equals()方法保证不重复 和其他转换时addAll方法达到去重的效果

Map:底层是一个Entry<k,v>键值对Entry是一个静态类 遍历:List:fori 增强for 迭代器 Set:没有fori 因为没有下标 增强for 迭代器两种 Map:entrySet() keySet() valus()Set不重复所以可以用 泛型: 限定了集合类型的输入和输出 常用方法: 增: List Set是add() map是put addAll 删: remove 改:set()/put() 查:List 和Map都有get方法 HashSet 没有下标所以没有get方法 List是get下标 Map是getkey Collections:CompareAble实现接口 /new CompareTo{into compare(){}}

2实用类

包装类:方便泛型使用, 与String类型的转换 装箱:把基本数据类型变为包装类型 插箱:把包装类型转为基本数据类型 自动装箱: Integer a=1; 自动c拆箱: int b=new Integer Math类:都是一些数学公式 Random类:何种随机数 种子 枚举:特殊的类 私有构造 直接写的值都是当前类型 String:字符串又可以叫做字符数组,底层是字符数字常量 所以是不可变的 indexOf:找某个字符的下标 spilt:根据分隔符切割成字符串数组 charAt:给对应的下标 返回字符 subString:截取字符串 一个参数:从头截到哪 两个参数:左闭右开 下标从哪到哪 toCharArray:中文用这个 getBytes: StringBuffer:底层也是字符数组 是变量 线程安全 较慢 长度可变初始值数组是16个 常用方法:append(); toString() Stringbuilder:底层也是字符数组 是变量 单线程=线程安全 较快 长度可变 Date:默认显示时间是UTC时间 SimpleDateFormat:“yyyy-MM-dd- HH:mm:ss" 3io流InputStream, OutputStream, Reader, Writer四个接口 普通流:FileInputStream FileOutputStream FileReader FileWriter 转换流:InputStreamReader OutputStreamWriter 转换流以及字符编码 高级流: 缓冲流:只能装Reader Writer 不能装inputStream把流在闲时先一步读进缓存(所以快) BufferReader BufferWriter 缓冲流只能装字符流 如果要装字节流 要先一步用普通流转成字节 二进制流 :加载图片 音频 先把要传输的图片音频 视频先放入文件流(FileInputStream) 再把文件流装入DataInputStream 对象流:对象要先实现Serializable(这个接口啥也没有) ObjectInputStream ObjetOutptuStream 读取过程: 1把文件放入文件输入流中(要先声明流 在异常中赋值) 2read(),read(b))(放入字符串) 3关闭流 写入文件:与读取过程类似 4多线程 继承Thread类:可以直接用本类new 实现Runnable接口:要先撞到Thread类 start() 和run()的区别: start()是真正实现多线程的方法 run就是个普通方法 实现Callable’接口:call()方法有返回值 类型为泛型 FutureTask task=new FutureTask(Callable接口实现类的对象) Thread t=new Thread(task) t.start() task.get();用来获取返回值 5反射 运行时获取对象及操作对象及其属性和方法:对枚举不行 类型.class 对象.getClass() Class.forName(“类的全路径”) 获取构造方法(getDeclaredConstryctor) newInstance() 方法 (getDeclaredMethod)("方法名“,参数类型)invoke() 属性(getDeclaredFiled(“属性名”))set() 三个都需要执行setAccessble(true) 6xml和json xml了解格式 和作用就行 xml格式:<?xml version="1.0" charset="UTF-8"?> 跟标签(只能有一个跟标签) 一一对应 可以在末尾加斜杠也可以 作用:传输数据 配置文件 DOM: 1 DocuMentBuilderFatory factory=DocuMentBuilderFatory.newInstance 2 DocuMentBuilder builder=factory.newDocumentBuilder(); 3 Document doucument builder .parse(“xml路径”); 4 document.getElementByIdName(“标签名称”) 5 e.item();里面放012 保存: 1 TransformFactory f=TransformFactory.newInstance(); 2 Transform tf=f.newInstance(); 3 Dom Source s=new DomSource(document); 4 StreamResult sr=new StreamResult(writer对象装入目标地址); 5 tf.tranform(s,sr);实现保存

json:前提是对象要实现Serializable接口(还有一种方法 只要能对象序列化即可) 对象转json格式字符串:JSON.toHSONString(对象) json字符串转json:JSON.parseObjcet(json串) json转对象:JSON.to HacaObject(json对象,java对象类型。class) 7正则表达式

又叫规则表达式 匹配规则:

最新回复(0)