91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java中對數組進行擴容

發布時間:2021-01-27 14:50:31 來源:億速云 閱讀:177 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關如何在java中對數組進行擴容,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1.擴容的原理

(1)Java數組對象的大小是固定不變的,數組對象是不可擴容的。

(2)利用數組復制方法可以變通的實現數組擴容。

(3)System.arraycopy()可以復制數組。

(4)Arrays.copyOf()可以簡便的創建數組副本。

(5)創建數組副本的同時將數組長度增加就變通的實現了數組的擴容。

2.先創建數組

import java.util.Arrays;
//數組的擴容示例
public class Test {
public static void main(String [] args){
//創建一個原始數組,并做好初始化。
// int [] arry = {1,3,5,7,9};
int arry[] =new int[]{1,3,5,7,9};
int arry1[]=new int[7];//新建一個新數組這里的7=arry.length+需要擴容的長度
System.out.println("打印原始數組的長度為:"+arry.length);
System.out.println("打印新數組的長度為:"+arry1.length);
//驗證該數組有沒有創建完成,可以獲取一下數組元素看看能不能成功。
// System.out.println(arry[1]);
//把從舊數組中獲取的數據一個一個的存到新的數組里面去,并新增兩個數:11,13。
//如何把數據存到數組里面去,使用arry1[0]=1;
/*

3.方法一:循環遍歷原始數組arry,長度是固定的,所以用for循環。

//1、先完成復制數組
for(int i=0;i<arry.length;i++){
arry1[i] = arry[i];
}
//2、再完成賦值插入操作,即已完成數組的擴容操作。
arry1[5]=11;
arry1[6]=13;
System.out.println("新數組為:"+arry1[5]);
System.out.println("新數組為:"+arry1[6]);
*/
/*

4.方法二:使用java的util包的Arrays類的copyOf(原數組名,新數組長度)方法來進行復制。

arry1 = Arrays.copyOf(arry,arry.length+2);
arry1[5] = 11;
arry1[6] = 13;
System.out.println("新數組為:"+arry1[5]);
System.out.println("新數組為:"+arry1[6]);

以上就是數組在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中對數組進行擴容有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长沙县| 诸城市| 上饶市| 宁明县| 石阡县| 开鲁县| 集安市| 团风县| 交城县| 广昌县| 永川市| 通辽市| 松潘县| 新和县| 平度市| 方正县| 靖州| 当雄县| 桃源县| 广灵县| 平利县| 丰城市| 方山县| 惠东县| 岗巴县| 鸡泽县| 崇明县| 韶山市| 大田县| 汤阴县| 屯昌县| 汉寿县| 奉新县| 左云县| 大化| 和硕县| 重庆市| 绵竹市| 嘉兴市| 新蔡县| 霍州市|