java知识小结一

1.String类型的又一些方法

 lastIndexOf(String str);//返回从str最后一次出现的位置 substring(int beginIndex);//返回从beginIndex开始到结束的字符串 substring(int beginIndex, int endIndex);//返回从beginIndex开始到endIndex之前的字符串,即 //endIndex不包括 

2.Treeset

是set的子类,是用来排序的,可以用自然排序,即不传入任何的参数,但是如果类型是默认的自然排序没有的,会抛出错误,也可以自定义排序方法,需要implement Comparator实现Compare()方法

Treeset的深入理解

treeset相关例题:

 TreeSet<Integer> set = new TreeSet<Integer>(); TreeSet<Integer> subSet = new TreeSet<Integer>(); for(int i=606;i<613;i++){ if(i%2==0){ set.add(i); } } subSet = (TreeSet)set.subSet(608,true,611,true); set.add(629); System.out.println(set+" "+subSet);

运行结果:[606, 608, 610, 612, 629] [608, 610]

3.字节流与处理流

按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分为节点流和处理流两类。

节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader

处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

常用的节点流

父 类 InputStream OutputStream Reader Writer

文 件 FileInputStream FileOutputStrean FileReader FileWriter 文件进行处理的节点流

数 组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter 对数组进行处理的节点流(对应 的不再是文件,而是内存中的一个数组)

字符串 StringReader StringWriter 对字符串进行处理的节点流

管 道 PipedInputStream PipedOutputStream PipedReader PipedWriter 对管道进行处理的节点流

常用处理流(关闭处理流使用关闭里面的节点流)

父 类 InputStream OutputStream Reader Writer

缓冲流 BufferedImputStrean BufferedOutputStream BufferedReader BufferedWriter ----需要父类作为参数构造,增加缓冲功

能,避免频繁读写硬盘,可以初始化缓冲数据的大小,由于带了缓冲功能,所以就写数据的时候需要使用flush方法咯

转换流 InputStreamReader OutputStreamWriter- 要inputStream或OutputStream作为参数,实现从字节流到字符流的转换

数据流 DataInputStream DataOutputStream -提供将基础数据类型写入到文件中,或者读取出来

ObjectInputStream ObjectOutputStream

//摘自:https://blog.csdn.net/wunai616568168/article/details/8285502