Javaステップ--配列と拡張


はいれつ
  • はデータ型を参照し、親はobject
  • である.
  • 複数の要素(配列はデータの集合)
  • を同時に収容できるコンテナ
  • 配列は、基本データ型を格納するもよいし、参照データ型
  • を格納してもよい.
  • 配列は参照タイプであるため、配列オブジェクトはスタックメモリ中の
  • である.
  • 配列にjavaオブジェクトが格納されている場合、実際にはオブジェクトの参照であるメモリアドレス
  • が格納.
  • 配列が作成されるとjavaで規定する長さは可変
  • である.
  • lengthは配列要素の個数を取得し、下付きは0から
  • である.
  • 配列の要素は、intタイプ配列がintタイプ
  • のみを格納できるように、タイプを統一する必要があります.
  • 配列の要素のメモリアドレスは連続する
  • である.
  • 配列の最初の要素のメモリアドレスを配列のアドレス
  • とする.
    配列の長所と短所
  • の利点:
  • 各要素タイプは同じであるため、占有空間の大きさは同じ
  • である.
  • は数学式である下付き要素のメモリアドレスを計算することができ、直接メモリアドレスを通じて要素を位置決めし、検索効率が高い
  • である.
  • 欠点:
  • 最後の要素を除いて、他の要素の削除は後の要素
  • を移動します.
  • 大きなデータ量を格納できません.大きな連続空間
  • を見つけるのは難しいからです.

    1 D配列の初期化
    静的初期化:int[] array={1,2,3,4,5};動的初期化:int [] array=new int[5];// 5 int , 02 D配列の初期化
    静的初期化:int[][] array={{1,2},{3,4,5},{0}}ループ:
    for(int i=0;i<array.length;i++){
    	for(int j=0;j<array[i].length;j++){
    		System.out.print(array[i][j]);
    	}
    }
    

    動的初期化:int[][] array=new int[3][4];アレイ拡張
    Javaでは、配列長が決定されると可変ではないjavaの配列の拡張は、まず大容量の配列を確立し、その後、小容量の配列のデータを1つずつ大配列にコピーすることです.コピーの問題があるため、データの拡張効率が低下します.基本データ型のコピーも参照データ型のコピーも可能
    方法:arraycopy(Object src,int srcPos,Object dest,int destPos,int length)パラメータの説明:
  • Object src–コピー元
  • int src Pos–ソースの開始点(コピーを開始する場所)
  • Object dest–ターゲット配列
  • int destPos–ターゲット配列の先頭下付き(ターゲット位置)
  • int length–コピーの長さ
  • //   (        )
    int[] src={1,11,22,3,4};
    
    //    (          )
    int[] dest=new int[20];//        20   ,       0
    
    //    
    // src  {11,22}   dest  dest[3] dest[4]
    System.arraycopy(src,1,dest,3,2);
    
    //  
    for(int i=0;i<dest.length;i++){
    	System.out.println(dest[i]);//0 0 0 11 22 0...0
    }