2020-04-14
package Arrays联系; import java.lang.reflect.Array; import java.util.Arrays; public class copytext { public static void main(String[] args) { int a[]=new int[]{1,2,3,4,5}; // copyOfRange(int[] original, int from, int to) // 第一个参数表示源数组 // 第二个参数表示开始位置(取得到) // 第三个参数表示结束位置(取不到) int[] b= Arrays.copyOfRange(a,0,5); for (int i=0;i<b.length;i++) { System.out.println(b[i]); } } }
该方法需要传递3个参数,分别为 复制数组、开始节点序号、结束节点序号 ;(数组已0开始,所以结束序号内容不会被复制)
package Arrays联系; import java.lang.reflect.Array; import java.util.Arrays; public class copytext { public static void main(String[] args) { int a[] = new int[]{1, 2, 3, 4, 5}; String as=Arrays.toString(a); System.out.println(as); } }
Arrays.toString方法,将数组转换为字符串,转换得到的内容是包括【】。
package Arrays联系; import java.lang.reflect.Array; import java.util.Arrays; public class copytext { public static void main(String[] args) { int a[] = new int[]{78,24,105,33,99}; Arrays.sort(a);//方法调用 String as=Arrays.toString(a); System.out.println(as); } }
sort()方法会将数组中的内容按从小到大进行排序;
需要注意的是, 使用binarySearch进行查找之前,必须使用sort进行排序
如果数组中有多个相同的元素,查找结果是不确定的
package Arrays联系; import java.lang.reflect.Array; import java.util.Arrays; public class copytext { public static void main(String[] args) { int a[] = new int[]{78,24,105,33,99}; Arrays.sort(a);//方法调用 String as=Arrays.toString(a); System.out.println(as); System.out.println("99在数组中的序号为"+Arrays.binarySearch(a,99)); } }
得到结果:
[24, 33, 78, 99, 105]
99在数组中的序号为3
Process finished with exit code 0
注: Arrays.binarySearch()得到的是搜索值的角标【小1】)
比较两个数组的内容是否一样
package Arrays联系; import java.lang.reflect.Array; import java.util.Arrays; public class copytext { public static void main(String[] args) { char a[]=new char[]{'a','s','d','w'}; char b[]=new char[]{'a','s','d','w'}; System.out.println(Arrays.equals(a,b)); } }
方法返回值为true或者false,无法精确定位到不同位置,需注意