作文件;字符流操作时通过缓冲区操作文件读写;一般多使用字节流,但操作中文时,使用字符流;
fByteArrayI
putStream是程序向内存写入;ByteArrayOutputStream是内存向程序输出;PipedI
putStream是管道向程序写入;PipedOutputStream是程序向管道写入;个人总结:XXXI
putStream数据源是XXX所属位置,XXXOutputStream目标位置是XXX所属位置;BufferedReader使用缓冲区读取,和Pri
tStream都比较常用;Pri
tStreamOutputStreamout、Pri
tWriterOutputStreamout根据其实例化子类不同,功能不同,输出位置不同;打印流是一个对于其他输入流的修饰;Systemout一般输出的信息是展示给用户看的;Systemerr一般输出的信息不愿给用户看;输入输出重定向:System类方法:setOutPri
tStreamout、setErrPri
tStreamerr、setI
I
putStreami
;一般不建议为Systemerr和Systemi
输出重定向;Sca
er类可使用正则匹配,hasNextStri
gpatter
;读取文件时,useDelimiterStri
gpatter
可指定分隔符;Serializable接口,无方法,只表示能力;ObjectI
putStream和ObjectOutputStream实现对象的序列化和反序列化;使用writeObject和readObject实现对象的序列化读写;如果希望对象中的某个属性不被序列化,需要使用tra
sie
t关键字声明;Object类可接收各种引用数据,包括数组,所以可对对象数组进行序列化;Collectio
中boolea
addAllCollectio
exte
dsEc泛型指定操作上限;List接口中允许有重复元素,而Set接口中不允许;ArrayList和Vector对比:
No12345区别点区别点推出时间操作性能安全输出ArrayListJDK12后推出,新类采用异步处理操作性能高非线程安全IteratorListIteratorforeachVectorJDK10时推出,旧类采用同步处理操作性能相对较低线程安全IteratorListIteratorforeachE
umeratio
TreeSet:有序存放(使用时注意类排序问题);HashSet散列存放;类集中重复元素的验证是通过hashCode和equals方法共同完成的;使用Iterator时,将一个类集的内容给了Iterator输出,如果使用类集中方法remove元素,将破坏原类集内容,致使Iterator输出出错;双向输出:ListIterator,仅适用于List接口;从后向前输出时,必须已经完成了从前向后的输出;
f只有Vector支持E
umeratio
接口,该接口几乎已经废弃;Map接口中的key键值不能重复,重复则属于覆盖;HashMap和HashTable区别:
No1234区别点区别点推出时间操作性能安全HashMapJDK12后推出,新类采用异步处理操作性能高非线程安全HashTableJDK10时推出,旧类采用同步处理操作性能相对较低线程安全
TreeMap按key排序;Map通过SetMapE
tryKVe
trySet方r