0、定義一個(gè)Java數(shù)組
String[]aArray=newString[5];
String[]bArray={"a","b","c","d","e"};
String[]cArray=newString[]{"a","b","c","d","e"};
種是定義了一個(gè)數(shù)組,并且指定了數(shù)組的長(zhǎng)度,我們這里稱(chēng)它為動(dòng)態(tài)定義。
第二種和第三種在分配內(nèi)存空間的同時(shí)還初始化了值。
1、打印Java數(shù)組中的元素
int[]intArray={1,2,3,4,5};
StringintArrayString=Arrays.toString(intArray);
//printdirectlywillprintreferencevalue
System.out.println(intArray);
//[I 7150bd4d
System.out.println(intArrayString);
//[1,2,3,4,5]
這里的重點(diǎn)是說(shuō)明了Java中數(shù)組的引用和值得區(qū)別,第三行直接打印intArray,輸出的是亂碼,因?yàn)閕ntArray僅僅是一個(gè)地址引用。第4行輸出的則是真正的數(shù)組值,因?yàn)樗?jīng)過(guò)了Arrays.toString()的轉(zhuǎn)化。對(duì)Java初學(xué)者來(lái)說(shuō),引用和值仍需重視。
2、從Array中創(chuàng)建ArrayList
String[]stringArray={"a","b","c","d","e"};
ArrayListarrayList=newArrayList(Arrays.asList(stringArray));
System.out.println(arrayList);
//[a,b,c,d,e]
為什么要將Array轉(zhuǎn)換成ArrayList呢?可能是因?yàn)锳rrayList是動(dòng)態(tài)鏈表,我們可以更方便地對(duì)ArrayList進(jìn)行增刪改,我們并不需要循環(huán)Array將每一個(gè)元素加入到ArrayList中,用以上的代碼即可簡(jiǎn)單實(shí)現(xiàn)轉(zhuǎn)換。
3、檢查數(shù)組中是否含某一個(gè)值
String[]stringArray={"a","b","c","d","e"};
booleanb=Arrays.asList(stringArray).contains("a");
System.out.println(b);
//true
先使用Arrays.asList()將Array轉(zhuǎn)換成List,這樣就可以用動(dòng)態(tài)鏈表的contains函數(shù)來(lái)判斷元素是否含在鏈表中。
4、連接兩個(gè)數(shù)組
int[]intArray={1,2,3,4,5};
int[]intArray2={6,7,8,9,10};
//ApacheCommonsLanglibrary
int[]combinedIntArray=ArrayUtils.addAll(intArray,intArray2);
ArrayUtils是Apache提供的數(shù)組處理類(lèi)庫(kù),其addAll方法可以很方便地將兩個(gè)數(shù)組連接成一個(gè)數(shù)組。
5、聲明一個(gè)數(shù)組內(nèi)鏈
method(newString[]{"a","b","c","d","e"});
6、將數(shù)組中的元素以字符串的形式輸出
//containingtheprovidedlistofelements
//Apachecommonlang
Stringj=StringUtils.join(newString[]{"a","b","c"},",");
System.out.println(j);
//a,b,c
同樣利用StringUtils中的join方法,可以將數(shù)組中的元素以一個(gè)字符串的形式輸出。
7、將Array轉(zhuǎn)化成Set集合
Setset=newHashSet(Arrays.asList(stringArray));
System.out.println(set);
//[d,e,b,c,a]
在Java中使用Set,可以方便地將需要的類(lèi)型以集合類(lèi)型保存在一個(gè)變量中,主要應(yīng)用在顯示列表。同樣可以先將Array轉(zhuǎn)換成List,然后再將List轉(zhuǎn)換成Set。
8、數(shù)組翻轉(zhuǎn)
int[]intArray={1,2,3,4,5};
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
//[5,4,3,2,1]
依然用到了萬(wàn)能的ArrayUtils。
9、從數(shù)組中移除一個(gè)元素
while(!game_over)
{
foreachpossiblemove:
count_no_of_merges_for_2-tilesand4-tiles
choosethemovewithlargenumberofmerges
}
10、再補(bǔ)充一個(gè):將一個(gè)int值轉(zhuǎn)化成byte數(shù)組
byte[]bytes=ByteBuffer.allocate(4).putInt(8).array();
for(bytet:bytes){System.out.format("0x%x",t);}