Java配列の動的増加容量プロセス解析


Java配列初期化は、配列容量を指定する必要があるが、多くの場合、動的拡張容量が必要である。二つの方法が実現できます。
1.ArayList類配列を採用し、必要に応じて自動的に拡張できます。
2.System.arraycopy法を用いて実現され、その声明は、araycopy(Object src,int srpos,Object dest,int destPos,int length)がコードを書くと分かります。例は以下の通りです。

import java.util.*;
class Test
{  
  public static void main(String[] args)
  {  
    int incre=2; //     
    int[] a={1,2,3,4};
    int[] b=new int[a.length+incre];//   
    System.arraycopy(a, 0, b, 0, a.length);// a         b
    b[4]=5;//b      
    b[5]=6;
    a=b;//    
    System.out.println("     a    :"+a.length+"   a  :");
    for(int i:a)
      System.out.print(i+" ");  
  }    
}
コードは、本当に元の配列aの容量を増加させていません。aコンテンツを新たな大行列にコピーして、aに大きな配列を再参照させます。Java配列が蓄積されているため、元のa配列は解放される必要がなく、自動的に回収されます。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。