java中的数组
1.一维数组的定义:
int[] array = new int[]{1,2,3};
int[] array = {1,2,3};
String[] StringArray = new String[6]
2.一维数组的遍历:
for(定义的变量名:数组变量名){
主方法
}
//例子:
int[] array = {1,2,3};
for(int v: array){
System.out.println(v);//这里直接输出了
}
3.两数组互换内容:
//两个数组互换内容
int[] a = {1,2,3};
int[] b = {4,5,6};
//定义一个新的空间
int[] c = new int[a.length];
c = a;//把a空间的引用给c空间
a = b;//把b空间的引用给a空间
b = c;//把c空间的引用给b空间
结果a[]={4,5,6},b[]={1,2,3,}。
4.二维数组的定义:
方式一
int arry[] [] = new int[5][6];
int [] [] arry = new int[5][6];
方式二
int[][] arr = new int[3][];
此二维数组中含有3个一维数组,每个一维数组的默认初始化值都为null,每个一维数组中的元素值都为0;可对每个一维数组赋值,如:
arr[0] = new int[3];
arr[1] = new int[2];
arr[2] = new int[1];
对每个一维数组中某个元素赋值:如:
arr[0][2]=90;
arr[1][1]=89;
arr[2][2]=78;
方式三
int[][] arr = {{1,5,7},{4,8},{3,9,20,12}}
5.Arrays类:
专门用来操作数组的一个工具。使用此类的时候,必须先导入 java.util.Arrays 类。
-1.toString : 用于把数组转换为String,通常输出的时候使用。
deepToString 用来打印多层次嵌套的数组元素。
-2.binarySearch : 使用二分查找法,在数组里面查询指定的元素的位置。使用的时候必须确保数据是有序的。
Integer[] data = {1, 3, 5, 7};
Arrays.sort(data);
System.out.println(Arrays.binarySearch(data, 1)); // 0
//搜索元素是数组元素,返回该元素索引值
-3.sort: 以前的使用单个CPU核进行排序的方法。
String[] data = {"1", "4", "3", "2"};
System.out.println(Arrays.toString(data)); // [1, 4, 3, 2]
Arrays.sort(data);
System.out.println(Arrays.toString(data)); // [1, 2, 3, 4]
-4.parallelSort : 并行排序,当数据规模较大时,会有更好的性能.
String[] data = {"1", "4", "3", "2"};
Arrays.parallelSort(data);
System.out.println(Arrays.toString(data)); // [1, 2, 3, 4]
-5.equals:判断两个数组是否相等
Integer[] data1 = {1, 2, 3};
Integer[] data2 = {1, 2, 3};
System.out.println(Arrays.equals(data1, data2)); // true
-6.asList:将数组转换为集合
-7.copyOf:拷贝数组元素