數(shù)組的創(chuàng)建只有兩種方式:
???????? 要么是靜態(tài)初始化:數(shù)組類型[] 數(shù)組名 = {元素1宣脉,元素2};
???????? 要么是動態(tài)初始化:數(shù)組類型[] 數(shù)組名 = new 數(shù)組類型[長度];
???????? 如果不提前知道數(shù)組的長度或具體數(shù)值是無法創(chuàng)建數(shù)組的,只能使用其他巧妙的方法塑猖。
對啊羊苟?為什么要用集合?
???????? 因?yàn)閿?shù)組的缺點(diǎn)是在不知道數(shù)組的長度或者具體數(shù)組是無法創(chuàng)建數(shù)組的令花,于是我們引進(jìn)了集合阻桅,存儲的容量是可變的嫂沉。如果存儲的數(shù)據(jù)長度經(jīng)常發(fā)生改變我們就采用集合。
打印string输瓜,StringBuilder芬萍,ArrayList都不會出現(xiàn)內(nèi)存地址,都是打印的元素柬祠。
ArrayList的初始容量為10.
ArrayList指定位置添加時(shí),后面的元素依次后移漫蛔,刪除元素時(shí)后面的元素依次前移,根據(jù)元素進(jìn)行刪除時(shí)(使用remove),只能刪除第一次出現(xiàn)的該元素蠕嫁。
泛型<E>只能是引用數(shù)據(jù)類型,不能是幾本數(shù)據(jù)類型剃毒。
集合的遍歷:
???????? 利用size()-1搂赋,實(shí)現(xiàn)像數(shù)組一樣的遍歷:for(int i = 0; i < list.size; i ++)
???????? 遍歷集合時(shí)要注意remove后,后面的元素會前移脑奠,所以要最后要進(jìn)行(i --)。
建議日后如果是變量和常量進(jìn)行比較宋欺,使用常量調(diào)用方法,因?yàn)槌A空{(diào)用方法不會出現(xiàn)NULL的異常秒咨。
break還有自己的騷操作:
???????? forexample:
for (int i = 0; i <10;i++) {
for (int j =0; j <10; j++) {
for (int k =0; k <10; k++) {
break;
??????? }
??? }
}
break只能結(jié)束最內(nèi)層的循環(huán)雨席,想要終止最外層的循環(huán)吠式,要使用這種方法:
u:for (int i = 0; i <10; i++) {
for (int j = 0; j <10; j++) {
for (int k = 0; k <10; k++) {
break u;
??????? }
??? }
}
這里表示最外層的名字為u;