public?class?DoubleSize?{
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了長海免費(fèi)建站歡迎大家使用!
//方法內(nèi)部不能改變參數(shù)的值,但是可以改變參數(shù)指向的值
//這樣寫沒有改變a,但是可以改變a[0]
/**
?*?
?*?@param?a
?*?@param?index
?*/
public?static?void?ds(String[][]?a,int?index){
String[]?NewA?=?new?String[a[index].length*2];
for(int?i=0;ia[index].length;i++){
NewA[i]=a[index][i];
}
a[index]=NewA;
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
String[][]a=new?String[2][];
String[]?a1={"abc","bbb","ccc"};
a[0]=a1;
DoubleSize.ds(a,0);
for(int?i=0;ia[0].length;i++){
System.out.println(a[0][i]);
}
???System.out.print(a[0].length);
}
}
StringBuilder用append()方法進(jìn)行擴(kuò)容,但是底層代碼仍然是數(shù)組,利用新建一個更大的數(shù)組來擴(kuò)容。
數(shù)組想擴(kuò)容也是只能新建一個更大的數(shù)組來擴(kuò)容。
public class ListInsert {
public static long[] insert(long[] arr,int i,long l){
//新建數(shù)組,對原數(shù)組擴(kuò)容
long[] arr1 = new long[arr.length+1];
//將原數(shù)組數(shù)據(jù)賦值給新數(shù)組
for(int j = 0;jarr.length;j++){
arr1[j] = arr[j];
}
//將大于i的數(shù)據(jù)向后移動一位
for(int j = arr1.length-2;ji;j--){
arr1[j+1] = arr1[j];
}
//賦值到i位置
arr1[i+1] = l;
return arr1;
}
//測試
public static void main(String[] args){
long[] arr = {12,25,11,36,14};
long[] arr1 = insert(arr, 2, 100);
for (long l : arr1) {
System.out.print(l+" ");
}
}
數(shù)組的擴(kuò)容方式:arr = Arrays.copyOf(arr, arr.length+1);
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
Java具有簡單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等
可以像實(shí)現(xiàn)ArrayList一樣,在該數(shù)組不夠大時,在創(chuàng)建一個更大的數(shù)組,然后將原數(shù)組中的元素復(fù)制到該數(shù)組中!這樣就可以就可以動態(tài)的改變數(shù)組大小。