本帖只用来记录在学习中遇到的各种问题,以及如何解决等,仅供自身学习参考,若你有更好的解决方法,欢迎留言交流。本帖子将会持续更新…加油加油加油!꒰⑅•ᴗ•⑅꒱
1. java排序sort
- 升序排序
使用Arrays.sort()方法,可以排序还有相同元素的数组
//会检查数组个数,若个数大于286且连续性好就使用归并排序
//若小于47使用插入排序
//其余情况使用双轴快速排序
int[] arr = {1,5,7,6,56,22, 89,56,1,5,7,22};
Arrays.sort(arr);
for(int num : arr)
System.out.print(num + " ");
- 降序排序
利用Collections的reverseOrder方法
import java.util.Arrays;
import java.util.Collections;
public class Test
{
public static void main(String[] args){
Integer[] arr = {1,5,7,6,56,22, 89,56,1,5,7,22};
//降序排序
Arrays.sort(arr, Collections.reverseOrder());
for(Integer num : arr)
System.out.print(num + " ");
}
}
2.数组特点
引用类型,存放多个数
int a = 6; //a直接存取的是这个数
int[] arr = new int[5]; //arr是一个引用类型的变量,arr存放的是堆内存的首地址
3.Java实现int转为String
String str = String.valueOf(num);
4.String 中的indexOf()方法
- indexOf(int,ch)
先看第一个indexOf它返回值是int,再看它的参数(int,ch)意思就是使用者可以给参数一个‘char’字符所代表的int值,然后去从前向后找到该字符在字符串中第一次出现处的索引,当然了我们不可能记得住每一个char的值所以我们在使用时直接用String s=abcdef; int i=s.indexOf(‘d’); 这种方式就可以了,char类型会自动提升为int类型,还有就是要注意如果返回值为-1,就说明索引越界了;
- indexOf(int ch,int,fromIndex)
这个方法就是说从指定位置往后找返回字符在该字符串中第一次出现处的索引,比如“woaizhongguo”indexOf(‘o’,2)那返回值就是6而不是1,也不是11;
- indexOf(Sting str)
这个方法基本就类似前面的了,只不过它是在参数里给一个子字符串,然后返回该子字符串在该字符串中第一次出现处的索引,比如"woaixuexi"要查"ai"这个子字符串在整个字符串中出现的索引位置那返回值就是2
- indexOf(String str,int fromIndex)这个方法不在累述
- lastIndexOf(int ch)
这个方法也是跟indexof相反,它是从后往前找返回字符在字符串中最后一次出现处的索引,也就是说找索引的时候是倒着找的但是返回值还是按照正的索引顺序返回的比如"woaiwo"用lastindexof查找‘w’返回的值是4而不是1
- lastIndexOf(int ch,fromindex)
这个方法表示从指定的索引处从后往前找该字符在此字符串中最后一次出现处的索引,比如是指定索引为7,就从7前面的索引找第一次找到则返回索引值
- substring(int begjin)
从自定位置截取字符串默认直到末尾返回值是string
- substring(int begin,int end)
从指定位置开始到指定位置结束截取字符串String包含头不包含尾
5.数组拷贝的两种方法
- System.arraycopy()
//java.lang.System#arraycopy
public static native void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length);
src:源数组
srcPos:源数组要复制的起始位置
dest:目标数组
destPos:目的数组放置的起始位置
length:要复制的长度
注意:src and dest都必须是同类型或者可以进行转换类型的数组
- Arrays.copyOf()
6.next()和nextLine()的区别
用Scanner实现字符串的输入有两种方法,一种是next(),一种nextLine(),
这两种方法的区别:
next() next方法不能得到带空格的字符串。
而nextLine() 方法的结束符只是Enter键,即nextLine() 方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
7.java中br.readLine与 br.read的用法区别?
- read方法
功能:bai读取单个字符。
返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1。 - readLine方法
功能:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 (’\n’)、回车 (’\r’) 或回车后直接跟着换行。
返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。
8.void write(char[] cbuf)
写入一个字符数组。 cbuf表示Character-buffer
9.从文件后面追加内容
RandomAccessFile raf = new RandomAccessFile("out.txt", "rw");
raf.seek(raf.length()); //获取文件大小
raf.write("追加的内容\r\n".getBytes());