Java配列の拡張コード例

2762 ワード

本論文で研究したのは主にJava配列の拡張容量に関するコードの例であり、具体的な実現過程は以下の通りである。
プログラムを書く過程で、私達はしばしば配列空間が足りない状況に遭遇します。たとえば、私はもう一つの配列intを初期化しました。この時、私は配列の下の3の位置に元素を挿入したいですが、どうすればいいですか?C言語で実現するのは難しいでしょう。memcpy関数を呼び出して偏りが必要ですが、javaではそんなに面倒ではないです。行列という拡張方式があります。簡単に実現できます。コードを見てみます

public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("       ");
	//	int num = s.nextInt();
		//         9
		int []a = {1,2,3,4,5,6,7,8,9,10};
		//   
		int []b = Getarray(a,3,100);
		Demoe.PrintArray(b);
	}
	//  :            ,     3      100
	public static int[] Getarray(int []a , int index , int num){
		int src_array_length = a.length ; 
		int []b = new int[src_array_length+1] ;
		for(int i = 0 ; i < a.length ; i++){
			b[i] = a[i] ; 
		}
		a = b ; //      a,  a  b
		//            ,                     
		//    
		for(int i = a.length - 1 ; i > index ; i--){
			a[i] = a[i-1];
		}
		//   ,                 
		a[index] = num ;
		return a ;
	}
}
javaのライブラリ関数を使ってもいいです。

import java.util.Arrays;
public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("       ");
	//	int num = s.nextInt();
	int []a = {1,2,3,4,5};
	int []b = new int[a.length] ;
		//1、   
		//2、          
		//3、    
		//4、             
		//5、    
		//System.arraycopy(a, 0, b, 0, a.length);
		//Demoe.PrintArray(b);
		//  --->     
		//a = Arrays.copyOf(a, 2*a.length) ;
		//Demoe.PrintArray(a);
		a = insertArray(a , 3 , 100) ;
		//    
		System.out.println(Arrays.toString(a));
	}
	//     ,        pos        value
	public static int[] insertArray(int []a , int pos , int value){
		if(pos < 0 || pos > a.length + 1) //      ,        
			return a ;
		//      ,   ,   
		a = Arrays.copyOf(a, a.length+1) ;
		for(int i = a.length - 1 ; i > pos ; i--){
			a[i] = a[i-1] ; //   
		}
		a[pos] = value ;
		return a ;
	}
}
以上は配列拡張のJavaです。簡単にコードを実現します。Javaを勉強するのに役立ちます。興味のある友達はもっと多くの内容を参照できます。Javaはプログラミングの重さを併発して鍵と読み書きをロックします。 、 javaのローカル変数とグローバル変数について話します。 、 Java注釈とダイナミックエージェントについて説明します。などです。みなさんの応援に感謝します。