新的一周开始了,又有了新的知识。今天一天 xiaobai 有点求知若渴的感觉啦,希望接下来能一直保持下去。下面是 xiaobai 今天学习的分享。
数组的操作
1. System的方法
arraycopy
:从指定源数组中 复制 一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
* System.arraycopy(src, srcPos, dest, destPos, length);
* src:源数组
* srcPos:源数组中复制的起始位置
* dest:目标数组
* destPos:目标数组中被复制的起始位置
* length:复制的长度
int[] arr1 = {3,5,1,7,9,2,6};
int[] arr2 = new int[7];
// arraycopy
System.arraycopy(arr1, 3, arr2, 1, 3);
System.out.println(Arrays.toString(arr2));//0,7,9,2,0,0,0
2. Arrays的方法
copyOf
:复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
* Arrays.copyOf(original, newLength);
* original:源数组
* newLength:新数组的长度
int[] arr1 = {3,5,1,7,9,2,6};
// copyOf
int[] arr3 = Arrays.copyOf(arr1, 4);
System.out.println(Arrays.toString(arr3));
copyOfRange
:将指定数组的指定范围复制到一个新数组。
* Arrays.copyOfRange(original, from, to);
* original:源数组
* from:复制的起始下标
* to:复制的最后下标
// copyOfRange
int[] arr1 = {3,5,1,7,9,2,6};
int[] arr4 = Arrays.copyOfRange(arr1, 2, 5);
System.out.println(Arrays.toString(arr4));
sort
:升序排序
* Arrays.sort(a);
* a:待排序的数组
// sort
int[] arr1 = {3,5,1,7,9,2,6};
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
binarySearch
:二分搜索法,在指定数组中,查找指定元素的下标
* Arrays.binarySearch(a, key);
* a:待查找的数组
* key:要查找的数据
// binarySearch
int[] arr1 = {3,5,1,7,9,2,6};
int n = Arrays.binarySearch(arr1, 5);
System.out.println(n);
String类的常用方法
1. equals():用于比较两个字符串的字符组成是否相同
String str = "bye";
if(str.equals("bye")){
System.out.println("相等");
}
2. charAt():String的底层是char数组
System.out.println("abc".charAt(0));// a
3. length():得到字符串的长度
System.out.println("abcdef".length());// 6
4. concat():连接,拼接,一般使用”+”号替代了这个方法
System.out.println("abc".concat("def"));// abcdef
System.out.println("abc"+"def");
5. isEmpty():判断是否为”“
System.out.println("abc".isEmpty());// false
6. trim():去掉前后空格
System.out.println(" abc def ".trim());// "abc def"
System.out.println(" abc def ".trim().length());// 7
7. indexOf():查找字符或字符串第一次出现的下标,如果找不到,则得到-1
System.out.println("abcadabc".indexOf('a'));
System.out.println("abcadabc".indexOf("abc"));// 0
System.out.println("abcadabc".indexOf("abc",2));// 5
8. lastIndexOf():查找字符或字符串最后一次出现的下标
System.out.println("abcadabc".lastIndexOf('a'));// 5
System.out.println("abcadabc".lastIndexOf("bc"));// 6
9. startWith/endsWith:判断字符串是否以某字符串开头或结尾
System.out.println("abc".startsWith("a"));// true
System.out.println("abc".endsWith("c"));// true
10. substring():截取字符串
System.out.println("abcdef".substring(3));// 截取,从下标为3的字符开始,截取到末尾 def
System.out.println("abcdef".substring(1,5));// 截取,从下标为1的字符开始,截取到下标为5的字符,不含5 bcde
11. comparTo:按照字典顺序去比较每个字符,如果某个字符不一致,则得到两个字符的差值,如果一直一致,则得到两个字符串的长度差
System.out.println("abc".compareTo("aac"));// b-a 1
System.out.println("adc".compareTo("aac"));// d-a 3
System.out.println("abc".compareTo("abcdef"));// 长度差 -3