亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java編程中拷貝數組的方式及相關問題分析

2024-07-13 10:13:58
字體:
來源:轉載
供稿:網友

JAVA數組的復制是引用傳遞,而并不是其他語言的值傳遞。

這里介紹java/223197.html">java/274729.html">javascript/30974.html">java數組復制的4種方式極其問題:

第一種方式利用for循環:

int[] a={1,2,4,6};int length=a.length;int[] b=new int[length];for (int i = 0; i < length; i++) {	b[i]=a[i];}

第二種方式直接賦值:

int[] array1={1,2,4,6};int[] array2=a;

這里把array1數組的值復制給array2,如果你這樣去運行,就會發現此時兩個數組的值是一樣的。這是傳遞的是引用(也就是地址),之后改變其中一個數組另一個也會跟著變化。

第三種方式:

利用Arrays自帶的copyof

int copy[] = Arrays.copyOf(a, a.length);

第四種方式:

這里再介紹一下System.arraycopy這個函數,從JAVAAPI中找了一段。大家看一下。

publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intdestPos,intlength)從指定源數組中復制一個數組,復制從指定的位置開始,到目標數組的指定位置結束。從src引用的源數組到dest引用的目標數組,數組組件的一個子序列被復制下來。被復制的組件的編號等于length參數。源數組中位置在srcPos到srcPos+length-1之間的組件被分別復制到目標數組中的destPos到destPos+length-1位置。

如果參數src和dest引用相同的數組對象,則復制的執行過程就好像首先將srcPos到srcPos+length-1位置

的組件復制到一個帶有length組件的臨時數組,然后再將此臨時數組的內容復制到目標數組的destPos到

destPos+length-1位置一樣。

If如果dest為null,則拋出NullPointerException異常。

如果src為null,則拋出NullPointerException異常,并且不會修改目標數組。

否則,只要下列任何情況為真,則拋出ArrayStoreException異常并且不會修改目標數組:

src參數指的是非數組對象。

dest參數指的是非數組對象。

src參數和dest參數指的是那些其組件類型為不同基本類型的數組。

src參數指的是具有基本組件類型的數組且dest參數指的是具有引用組件類型的數組。

src參數指的是具有引用組件類型的數組且dest參數指的是具有基本組件類型的數組。

否則,只要下列任何情況為真,則拋出IndexOutOfBoundsException異常,并且不會修改目標數組:

srcPos參數為負。

destPos參數為負。

length參數為負。

srcPos+length大于src.length,即源數組的長度。

destPos+length大于dest.length,即目標數組的長度。

否則,如果源數組中srcPos到srcPos+length-1位置上的實際組件通過分配轉換并不能轉換成目標數組的組

件類型,則拋出ArrayStoreException異常。在這種情況下,將k設置為比長度小的最小非負整數,這樣就

無法將src[srcPos+k]轉換為目標數組的組件類型;當拋出異常時,從srcPos到srcPos+k-1位置上的源數組

組件已經被復制到目標數組中的destPos到destPos+k-1位置,而目標數組中的其他位置不會被修改。(因

為已經詳細說明過的那些限制,只能將此段落有效地應用于兩個數組都有引用類型的組件類型的情況。)

參數:src-源數組。

srcPos-源數組中的起始位置。

dest-目標數組。

destPos-

目標數據中的起始位置。

length-

要復制的數組元素的數量。

拋出:IndexOutOfBoundsException-

如果復制會導致對數組范圍以外的數據的訪問。

ArrayStoreException-如果因為類型不匹配而使得無法將src數組中的元素存儲到dest數組中。

NullPointerException-如果src或dest為null。

二維數組

不想匆匆了事,那就再介紹一下二維數組的聲明、初始化和引用吧。

二維數組的聲明、初始化和引用與一維數組相似:

int intArray[ ][ ] = { {1,2}, {2,3}, {4,5} };int a[ ][ ] = new int[2][3];a[0][0] = 12;a[0][1] = 34;// ......a[1][2] = 93;

Java語言中,由于把二維數組看作是數組的數組,數組空間不是連續分配的,所以不要求二維數組每一維的大小相同。例如:

int intArray[ ][ ] = { {1,2}, {2,3}, {3,4,5} };int a[ ][ ] = new int[2][ ];a[0] = new int[3];a[1] = new int[5];

【示例】通過二維數組計算兩個矩陣的乘積。

public class Demo {	public static void main(String[] args){		// 第一個矩陣(動態初始化一個二維數組)		int a[][] = new int[2][3];		// 第二個矩陣(靜態初始化一個二維數組)		int b[][] = { {1,5,2,8}, {5,9,10,-3}, {2,7,-5,-18} };		// 結果矩陣		int c[][] = new int[2][4];		// 初始化第一個矩陣		for (int i=0; i<2; i++)		for (int j=0; j<3 ;j++)		a[i][j] = (i+1) * (j+2);		// 計算矩陣乘積		for (int i=0; i<2; i++){			for (int j=0; j<4; j++){				c[i][j]=0;				for (int k=0; k<3; k++)				c[i][j] += a[i][k] * b[k][j];			}		}		// 輸出結算結果		for (int i=0; i<2; i++){			for (int j=0; j<4; j++)			System.out.printf("%-5d", c[i][j]);			System.out.printlnwww.ymzxrj.com();		}	}}

運行結果:

25 65 14 -65
50 130 28 -130

總結

以上就是本文關于java編程中拷貝數組的方式及相關問題分析的全部內容,希望對大家有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久在线播放| 亚洲天堂成人在线视频| 亚洲欧美综合另类中字| 国产精品你懂得| 亚洲成人a**站| 久久久久久久久久亚洲| 最新国产成人av网站网址麻豆| 高清欧美性猛交xxxx黑人猛交| 91精品久久久久久久久青青| 欧美一区二粉嫩精品国产一线天| 国产精品一区av| 91在线无精精品一区二区| 亚洲欧美日韩网| 国产亚洲欧美日韩美女| 久久av红桃一区二区小说| 大伊人狠狠躁夜夜躁av一区| 日韩av一区二区在线| 国产精品美女久久久久av超清| 国产精品极品尤物在线观看| 永久免费毛片在线播放不卡| 夜夜躁日日躁狠狠久久88av| 最新中文字幕亚洲| 在线精品视频视频中文字幕| 色播久久人人爽人人爽人人片视av| 日韩激情av在线免费观看| 亚洲激情久久久| 久久久久久久一| 日韩欧美成人精品| 国内自拍欧美激情| 91精品国产自产91精品| 欧美日本高清一区| 青青在线视频一区二区三区| 欧日韩不卡在线视频| 久久精品国产综合| 69av在线播放| 国产原创欧美精品| 日本三级韩国三级久久| 亚洲天天在线日亚洲洲精| 亚洲美女视频网| 性亚洲最疯狂xxxx高清| 国产精品一区二区久久精品| 日本一区二区在线播放| 日韩在线观看成人| 隔壁老王国产在线精品| 亚洲一区美女视频在线观看免费| 亚洲精选中文字幕| 国产在线播放不卡| 国产亚洲在线播放| 欧美体内谢she精2性欧美| 欧美日韩视频免费播放| 国产午夜精品理论片a级探花| 热re91久久精品国99热蜜臀| 日韩欧美综合在线视频| 欧美日韩国产综合新一区| 亚洲一区二区三区777| 亚洲欧美日韩爽爽影院| 91高清在线免费观看| 久久精品国产综合| 国产在线播放不卡| 欧美一区深夜视频| 精品成人乱色一区二区| 国产成人一区二| 国产一区红桃视频| 色偷偷av亚洲男人的天堂| 久久成人综合视频| 国产精品午夜一区二区欲梦| 黑人巨大精品欧美一区二区三区| 成人免费在线视频网站| 日韩精品在线看| 亚洲欧美在线播放| 欧美精品亚州精品| 欧美午夜精品久久久久久浪潮| 欧美日韩精品在线视频| 啊v视频在线一区二区三区| 91精品在线观| 成人免费视频97| 92国产精品视频| 欧洲成人在线观看| 欧美www视频在线观看| 欧美限制级电影在线观看| 日韩在线免费av| 日本精品性网站在线观看| 成人网在线免费看| 日韩欧美国产中文字幕| 一夜七次郎国产精品亚洲| 2019国产精品自在线拍国产不卡| 日韩视频免费在线观看| 不卡av在线播放| 亚洲欧美综合另类中字| 日韩精品中文在线观看| 久久中国妇女中文字幕| 在线精品国产成人综合| 日韩福利在线播放| 久久久久久久久久亚洲| 成人激情视频在线| 狠狠躁天天躁日日躁欧美| 国产精品99导航| 成人妇女免费播放久久久| 91国内免费在线视频| 91在线免费看网站| 欧美高清一级大片| 亚洲综合第一页| 国产欧美日韩丝袜精品一区| 96sao精品视频在线观看| 久久综合久中文字幕青草| 国产一区二区三区在线看| 国产亚洲在线播放| 亚洲精品日韩激情在线电影| 性欧美暴力猛交69hd| 久久精品色欧美aⅴ一区二区| 亚洲欧美激情另类校园| 91精品国产高清自在线| 亚洲人成网站色ww在线| 欧美激情精品在线| 亚洲视频日韩精品| 91在线观看免费观看| 国产精品99久久久久久久久久久久| 日韩免费观看在线观看| 色婷婷**av毛片一区| 国产美女搞久久| 日韩欧美一区二区三区| 亚洲jizzjizz日本少妇| 国产一区二区日韩精品欧美精品| 国产精品久久97| 日韩免费av片在线观看| 91丝袜美腿美女视频网站| 国产精品尤物福利片在线观看| 亚洲自拍偷拍色片视频| 情事1991在线| 日韩欧美国产一区二区| 亚洲精品自产拍| 亚洲欧美国产日韩天堂区| 成人午夜高潮视频| 人妖精品videosex性欧美| 欧美成人免费全部| 欧美亚洲国产精品| 亚洲国产精品专区久久| 久久精品视频在线观看| 亚洲最大av网站| 91国产中文字幕| 亚洲精品av在线播放| 欧美不卡视频一区发布| 久久视频国产精品免费视频在线| 97超视频免费观看| 91爱爱小视频k| 中文综合在线观看| 亚洲天堂免费在线| 亚洲人成人99网站| 亚洲第一色在线| 国产精品女主播视频| 国产丝袜一区二区| 国产一区二区激情| 欧美成人午夜激情视频| 亚洲美女自拍视频| 日本人成精品视频在线| 亚洲精品国产综合区久久久久久久| 成人日韩在线电影| 国产精品久久久久999| 欧美精品免费在线观看| 欧美午夜视频一区二区| 国产91精品久久久久| 国产精品wwwwww| 97在线视频免费看| 啊v视频在线一区二区三区|