Java_數組操作

1. 使用System的類方法實現數組拷貝

public class Temp {
	public static void main (String args[]) {
		int array_a [] = new int [] {5,34,15,27,96,63,78,47,50,82};
		int array_b [] = new int [] {0,0,0,0,0,0,0,0,0,0};		
		//數組拷貝。原型:static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
		//注意,是數組拷貝,而不是插入。被拷貝的內容會替換原數組的內容。
		System.arraycopy(array_b, 2, array_a, 3, 5);
		for (int x : array_a)
			System.out.print(x + " ");
		//輸出:5 34 15 0 0 0 0 0 50 82
		//如果選取的srcPos或destPos後面沒有length個對象,則會報java.lang.ArrayIndexOutOfBoundsException
	}
}

2. 使用java.util.Arrays的類方法實現數組排序、查找、複製和賦值

public class Temp {
	public static void main (String args[]) {
		int array_a [] = new int [] {5,34,15,27,96,63,78,47,50,82};
		
		//數組排序
		java.util.Arrays.sort(array_a);
		for (int x : array_a)
			System.out.print(x + " ");
		//輸出:5 15 27 34 47 50 63 78 82 96
				
		//數組查找
		//這個方法查詢key元素值在a數組中出現的索引;如果a數組不包含key元素值,則返回-1.調用該方法時要求數組中元素已經按升序排列,這樣才能得到正確結果
		System.out.println(java.util.Arrays.binarySearch(array_a, 34));	//輸出:3
				
		//複製新數組
		//這個方法將會把original數組複製成一個新數組,其中length是新數組的長度。如果length小於original數組的長度,則新數組就是原數組的前面length個元素;如果length大於original數組的長度,則新數組的前面元素就是原數組的所個元素,後面補充0(數值型)、false(布爾型)或者null(引用型)
		int array_new [] = java.util.Arrays.copyOf(array_a, 12);
		for (int x : array_new)
			System.out.print(x + " ");
		//輸出:5 15 27 34 47 50 63 78 82 96 0 0
	
		//按範圍複製新數組
		//這個方法與前面方法相似,但這個方法只複製original數組的from索引到to索引的元素
		array_new = java.util.Arrays.copyOfRange(array_a, 0, 3);
		for (int x : array_new)
			System.out.print(x + " ");
		//輸出:5 15 27
				
		//賦值(所有元素)
		java.util.Arrays.fill(array_a, 0);
		for (int x : array_a)
			System.out.print(x + " ");
		//輸出:0 0 0 0 0 0 0 0 0 0
				
		//賦值(範圍元素)
		java.util.Arrays.fill(array_a, 0, 5, 1);
		for (int x : array_a)
			System.out.print(x + " ");
		//輸出:1 1 1 1 1 0 0 0 0 0
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章