Java数组学习笔记二——二维数组及Arrays工具类的使用

二维数组.
二维数组的定义方式:

int[][] array={{1,2},{3,4},{5,6}};
int[][] array1=new int[][]{{1,2},{3,4},{5,6}};
int[][] array2=new int[2][3];//规则的二维数组
int[][] array3=new int[3][];
int[][] array4={{1},{2,3},{4,5}};//不规则的二维数组

初始化不规则数组

int[][] array3=new int[3][];
array3[0]=new int[2];
array3[1]=new int[3];
array3[2]=new int[4];//[[0,0],[0,0,0],[0,0,0,0]]结果

打印二维数组方法:

for (int i = 0; i <3 ; i++) {
        for (int j = 0; j <2 ; j++) {
            System.out.println(array[i][j]+"");
        }
        System.out.println();
}
System.out.println(Arrays.deepToString(array));

打印Arrays.deeptoString:(错误打印方法)

int[][] array4={{1},{2,3},{4,5}};
for (int i = 0; i <3 ; i++) {
        for (int j = 0; j <2 ; j++) {
            System.out.println(array4[i][j]+"");
        }
        System.out.println();
}
System.out.println(Arrays.deepToString(array4));//会产生数组越界异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

正确打印方法

for (int i = 0; i <array4.length ; i++) {
        for (int j = 0; j <array4[i].length ; j++) {
            System.out.println(array4[i][j]+"");/array4.length为行的长度  array4[0].length为第0行的列数  array4[1].length为第一行的列数
        }
        System.out.println();
}
System.out.println(Arrays.deepToString(array4));

Arrays工具类的使用

Arrays.copyOfRange(array,from,to)拷贝数据返回数组

int[] arr = {1, 2, 3, 4, 5};
int[] arr1 = Arrays.copyOfRange(arr, 1, 4);
System.out.println(Arrays.toString(arr1));//[2,3,4]

Arrays.equals判断两个数组是否相同。返回值为boolean类型

int[] arr = {1, 2, 3, 4, 5};
int[] arr1={1,2,3,4,5,6};
System.out.println(Arrays.equals(arr,arr1));//false

Arrays.fill数组填充

int[] array=new int[5];
Arrays.fill(array,9);
System.out.println(Arrays.toString(array));//[9,9,9,9,9]

Arrays.fill(array,2,7,9)从2号下标到7号下标填充为9(不包含7号下标.左闭右开)

int[] array=new int[10];
Arrays.fill(array,2,7,9);
System.out.println(Arrays.toString(array));//[0,0,9,9,9,9,9,0,0,0,0]

Arrays.sort对数组进行排序(使用的是快速排序算法,升序)

int[] arr2={1,9,32,4,55,17,29};
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));//[1,4,9,17,29,32,55]

可变参数编程

public  static int sum(int... a){
    int ret=0;
    for(int x:a){
        ret+=x;
    }
    return ret;
}//在调用函数时,可任意累加参数 ...语法代表参数可变
public static void main(String[] args) {
    System.out.println(sum(10,20,30,40,50));//150
    int[] arr={1,2,3,4,5,6,7,8,9,10};
    System.out.println(sum(arr));//55
    System.out.println(
发布了6 篇原创文章 · 获赞 7 · 访问量 328

猜你喜欢

转载自blog.csdn.net/qq_45611822/article/details/105578536
今日推荐