最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java數(shù)組的擴容代碼示例

 更新時間:2017年09月26日 10:29:08   作者:Engineer-MrYang  
這篇文章主要介紹了Java數(shù)組的擴容,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是Java數(shù)組的擴容的相關(guān)代碼示例,具體實現(xiàn)過程如下所示。

在寫程序的過程中,我們常常會碰見數(shù)組空間不夠用的情況,比如我已經(jīng)初始化了一個數(shù)組int []a = {1,2,3,4,5,6,7,8,9,10} ;這時,我想往數(shù)組下標(biāo)3的位置插入一個元素,該怎么做?用C語言實現(xiàn)太難了吧,需要調(diào)用memcpy函數(shù)要一個一個偏,但是在java中就不用那么麻煩了,有種叫數(shù)組的擴容方式,輕松實現(xiàn)。來看看代碼:

public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("請輸入一個數(shù)字");
	//	int num = s.nextInt();
		//這個數(shù)組下標(biāo)只能到9
		int []a = {1,2,3,4,5,6,7,8,9,10};
		//先擴容
		int []b = Getarray(a,3,100);
		Demoe.PrintArray(b);
	}
	//案例:有一個數(shù)組已經(jīng)初始化完畢,現(xiàn)向其下標(biāo)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];
		}
		//別忘了,將要插入的元素插入到對應(yīng)的數(shù)組坐標(biāo)
		a[index] = num ;
		return a ;
	}
}

也可以使用java中的庫函數(shù)來實現(xiàn)

import java.util.Arrays;
public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("請輸入一個數(shù)字");
	//	int num = s.nextInt();
	int []a = {1,2,3,4,5};
	int []b = new int[a.length] ;
		//1、源數(shù)組
		//2、源數(shù)組的哪個位置開始
		//3、目標(biāo)數(shù)組
		//4、目標(biāo)數(shù)組的哪個位置開始存放
		//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) ;
		//打印數(shù)組
		System.out.println(Arrays.toString(a));
	}
	//寫一個函數(shù),向整數(shù)數(shù)組的任意pos位置插入一個元素value
	public static int[] insertArray(int []a , int pos , int value){
		if(pos < 0 || pos > a.length + 1) //索引下標(biāo)不對,直接返回源數(shù)組 
			return a ;
		//放入一個元素,先擴容,后復(fù)制
		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 ;
	}
}

以上就是數(shù)組擴容的Java簡單實現(xiàn)代碼,希望對大家學(xué)習(xí)Java能夠有所幫助。感興趣的朋友可以參閱更多內(nèi)容:Java并發(fā)編程之重入鎖與讀寫鎖 、 淺談java中的局部變量和全局變量 、 淺談Java注解和動態(tài)代理等。感謝大家對本站的支持。

相關(guān)文章

最新評論

嘉祥县| 潜江市| 德庆县| 伊吾县| 炎陵县| 泸水县| 冕宁县| 都昌县| 伽师县| 眉山市| 从江县| 海伦市| 吴川市| 武川县| 南漳县| 南皮县| 章丘市| 辽源市| 鄂尔多斯市| 堆龙德庆县| 惠水县| 锡林浩特市| 宁德市| 美姑县| 三穗县| 昂仁县| 房山区| 桂平市| 孙吴县| 隆回县| 亳州市| 疏附县| 瑞丽市| 博乐市| 临汾市| 乐安县| 临朐县| 绥江县| 滕州市| 元江| 乐亭县|