Java 2 D配列コピー+行列要素アクション



  
  
  
  
  1. package com.kk.array;  
  2.  
  3. /**  
  4.  *  :  
  5.  *   
  6.  * @author kk  
  7.  *   
  8.  */ 
  9. public class Array2ArrayTest {  
  10.       
  11.     public static void main(String[] args) {  
  12.         int[][] array2array = {   
  13.                 { 123 },   
  14.                 { 223 },   
  15.                 { 123 },   
  16.                 { 11 } };  
  17.           
  18.         System.out.println(" ");  
  19.         printArray2Array(array2array);  
  20.  
  21.         System.out.println(" ");         
  22.         int[][] arr = new int[array2array.length][];//   
  23.         System.arraycopy(array2array, 0, arr, 0, arr.length);  
  24.         printArray2Array(arr);  
  25.  
  26.         System.out.println(" ");  
  27.         addColValueForArray2Array(array2array);  
  28.         printAddColValueForArray2Array(array2array);  
  29.     }  
  30.  
  31.     /**  
  32.      *  , array[0][...] ;  
  33.      *  : , ,  
  34.      *  , .  
  35.      *   
  36.      *  : :  
  37.      * int[][] array2array = {   
  38.      *      { 1 },   
  39.      *      { 2, 2, 3 },   
  40.      *      { 1, 2, 3 },   
  41.      *      { 1, 1 }   
  42.      *  }  
  43.      *  ,  5(1+2+1+1), ( )  
  44.      *   
  45.      * @param arr2arr  
  46.      */ 
  47.     static void addColValueForArray2Array(int[][] arr2arr) {  
  48.         for (int col = 0; col < arr2arr[0].length; col++)  
  49.             for (int row = 1; row < arr2arr.length && col < arr2arr[row].length; row++)  
  50.                 arr2arr[0][col] += arr2arr[row][col];  
  51.     }  
  52.  
  53.     /**  
  54.      *   
  55.      *   
  56.      * @param arr2arr  
  57.      */ 
  58.     static void printArray2Array(int[][] arr2arr) {  
  59.         for (int row = 0; row < arr2arr.length; row++) {  
  60.             for (int col = 0; col < arr2arr[row].length; col++) {  
  61.                 System.out.print(arr2arr[row][col] + " ");  
  62.             }  
  63.             System.out.println();  
  64.         }  
  65.     }  
  66.  
  67.     /**  
  68.      *  . , .  
  69.      *   
  70.      * @param arr2arr  
  71.      */ 
  72.     static void printAddColValueForArray2Array(int[][] arr2arr) {  
  73.         for (int col = 0; col < arr2arr[0].length; col++)  
  74.             System.out.print(arr2arr[0][col] + " ");  
  75.     }  
  76. /**------- ---------  
  77.  
  78. 1 2 3   
  79. 2 2 3   
  80. 1 2 3   
  81. 1 1   
  82.  
  83. 1 2 3   
  84. 2 2 3   
  85. 1 2 3   
  86. 1 1   
  87.  
  88. 5 7 9  
  89. ----------- -------------  
  90.  
  91.  
  92. 2 2 3   
  93. 1 2 3   
  94. 1 1   
  95.  
  96.  
  97. 2 2 3   
  98. 1 2 3   
  99. 1 1   
  100.  
  101. 5     
  102.  */