数组的应用

2021-06-06 09:03

阅读:679

标签:千万   each   rmi   效果   copy   需要   顺序   复制   index   

1.数组的遍历

  通常用双for循环或者foreach循环来遍历二维数组,例如:

        char arr[][]=new char[4][];
        arr[0]=new char[] {,,,,,,};
        arr[1]=new char[] {,,,,,,};
        arr[2]=new char[] {,,,,,,};
        arr[3]=new char[] {,,,,,,};
        
        for(int i=0;i) {
            for(int j=0;j) {
                System.out.print(arr[i][j]);
            }
            System.out.println();
        }
        /*
        春江潮水连海平
        海上明月共潮生
        滟滟随波千万里
        何处春江无月明
        */
        
        for(char a[]:arr) {
            for(char b:a) {
                System.out.print(b);
            }
            System.out.println();
        }
        /*
        春江潮水连海平
        海上明月共潮生
        滟滟随波千万里
        何处春江无月明
        */

2.填充和批量替换数组元素

  填充的语法:Arrays.fill(arr,int value),arr为需要填充的数组,value为需要填充的值。

  批量替换数组元素的语法:Arrays.fill(arr,int fromIndex,int toIndex,int value),arr为需要批量替换的数组,fromIndex为填充的第一个索引(包括),toIndex为填充的最后一个索引(不包括),value为替换的值。例如:

        int arr[]=new int[5];
        Arrays.fill(arr, 10);
        for(int i=0;i) {
            System.out.println(""+(i+1)+"个元素是"+arr[i]);
        }
        //填充的效果会覆盖以前元素的值。
        
        int arr1[]= {1,3,6,1,3,9,6,1,3};
        Arrays.fill(arr1, 2,5,0);
        for(int i=0;i) {
            System.out.print(arr1[i]);//130009613

3.数组的排序

  语法:Arrays.sort(arr),arr为需要排列的数组,排列的顺序只能是从小到大的顺序,例如:

        int a[]=new int[] {32,65,23,5,34,6};
        Arrays.sort(a);
        for(int tmp:a) {
            System.out.print(tmp+" ");//5 6 23 32 34 65 
        }
        System.out.println();
        
        double b[]=new double[] {12.0,85.4,1.1,2.3};
        Arrays.sort(b);
        for(double temp:b) {
            System.out.print(temp+" ");//1.1 2.3 12.0 85.4
        }

4.数组的复制

        int arr[]= {1,3,4};
        int b[]=arr;
        b[0]=0;
        
        System.out.print("arr数组:");
        for(int temp:arr) {
            System.out.print(temp+" ");
        }
        System.out.print("\nb数组:");
        for(int temp:b) {
            System.out.print(temp+" ");
        }
        /*
        arr数组:0 3 4 
        b数组:0 3 4 
        */

  当直接用等号复制数组时,arr数组和b数组指向的是同一块内存区域,不能对两个数组进行不同的操作。

  复制语法:Arrays.copyOf(arr,newlength),arr为要复制的数组,newlength为复制后的新数组的长度;或者Arrays.copyOfRange(arr,formIndex,toIndex),arr为要复制的数组,formIndex为指定开始复制数组的索引位置(包括),toIndex为要复制范围的最后索引位置(不包括)。例如:

        int arr[]= {1,3,4};
        int b[]=Arrays.copyOf(arr, 3);
        b[0]=0;
        
        System.out.print("arr数组:");
        for(int temp:arr) {
            System.out.print(temp+" ");
        }
        System.out.print("\nb数组:");
        for(int temp:b) {
            System.out.print(temp+" ");
        }
        /*
        arr数组:1 3 4 
        b数组:0 3 4
        */
        System.out.println();
        
        int arr1[]= {2,4,6,8,1,3,5,7,9};
        int c[]=Arrays.copyOfRange(arr1, 4, 8+1);
        System.out.print("arr1数组:");
        for(int temp:arr1) {
            System.out.print(temp+" ");
        }
        System.out.print("\nc数组:");
        for(int temp:c) {
            System.out.print(temp+" ");
        }
        /*
        arr1数组:2 4 6 8 1 3 5 7 9 
        c数组:1 3 5 7 9 
        */

 

数组的应用

标签:千万   each   rmi   效果   copy   需要   顺序   复制   index   

原文地址:https://www.cnblogs.com/mlzhang/p/14615430.html


评论


亲,登录后才可以留言!