數(shù)組的拷貝及Arrays類
/**
* 測試數(shù)組的拷貝及Arrays類
*/
import java.util.Arrays;
//導(dǎo)入Arrays類
public class Test6 {
? ?public static void main(String[] args) {
? ? ? ?String[] s1 = {"public","static","void","main"};
? ? ? ?String[] sBak = new String[6];
? ? ? ?System.arraycopy(s1,0,sBak,1,s1.length);
? ? ? ?//System.arraycopy拷貝方法 ?格式(源數(shù)組String src(source),拷貝起始位置int srcPos(position)包含起始位,目標數(shù)組String dest,目標位置int destPos,拷貝長度int length)
? ? ? ?for(int i = 0;i<sBak.length;i++){
? ? ? ? ? ?System.out.println(sBak[i]);
? ? ? ? ? ?//4個元素從第1位開始拷貝 第0位和第5位都是null
? ? ? ?}
? ? ? ?//拷貝為System.arraycopy() 屬于System
? ? ? ?//以下為Arrays類的內(nèi)容
? ? ? ?System.out.println(Arrays.toString(s1));
? ? ? ?//Arrays類的靜態(tài)方法toString 不是Object的toString重寫 返回s1的內(nèi)容 結(jié)果 [public, static, void, main]
? ? ? ?//Object的toString是普通方法 屬于對象 調(diào)用格式:s1.toString()括號內(nèi)無參 不是靜態(tài)方法不屬于類
? ? ? ?int[] i1 = {5,7,2,9,1,3,78,54,32,45,11};
? ? ? ?System.out.println(Arrays.toString(i1));
? ? ? ?Arrays.sort(i1);
? ? ? ?//Arrays.sort()對數(shù)組進行排序 由小到大
? ? ? ?System.out.println(Arrays.toString(i1));
? ? ? ?System.out.println(Arrays.binarySearch(i1,3)+" 二分法查找 在i1數(shù)組中搜索 3 找到則返回下標 未找到則返回-1");
? ? ? ?//Arrays.binarySearch()方法需要先對數(shù)組排序sort才可以使用
? ? ? ?//比較中間位元素和3 比3大則從該元素左側(cè)不包含該元素的數(shù)列再取中間位比較 直到找到結(jié)束搜索
? ? ? ?Arrays.fill(i1,2,4,10);
? ? ? ?//Arrays.fill方法 填充替換i1數(shù)組的元素 從第2位開始到第4位不包含4 將這些元素全部替換為10
? ? ? ?//一般涉及到索引從fromIndex到toIndex的范圍 原則是包頭不包尾 即fromIndex<=范圍<toIndex
? ? ? ?System.out.println(Arrays.toString(i1));
? ?}
}