Java數(shù)組操作的10大方法
下面是精心整理的Java數(shù)組操作的10大方法,大部分代碼都來(lái)自Stack Overflow。
0、定義一個(gè)Java數(shù)組String[] aArray = new String[5];String[] bArray = {"a","b","c", "d", "e"};String[] cArray = new String[]{"a","b","c","d","e"};
第一種是定義了一個(gè)數(shù)組,并且指定了數(shù)組的長(zhǎng)度,我們這里稱它為動(dòng)態(tài)定義。
第二種和第三種在分配內(nèi)存空間的同時(shí)還初始化了值。
1、打印Java數(shù)組中的元素int[] intArray = { 1, 2, 3, 4, 5 };String intArrayString = Arrays.toString(intArray);// print directly will print reference valueSystem.out.println(intArray);// [I@7150bd4dSystem.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)建ArrayListString[] stringArray = { "a", "b", "c", "d", "e" };ArrayList<String> arrayList = new ArrayList<String>(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" };boolean b = Arrays.asList(stringArray).contains("a");System.out.println(b);// true
先使用Arrays.asList()將Array轉(zhuǎn)換成List<String>,這樣就可以用動(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 };// Apache Commons Lang libraryint[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
ArrayUtils是Apache提供的數(shù)組處理類庫(kù),其addAll方法可以很方便地將兩個(gè)數(shù)組連接成一個(gè)數(shù)組。
5、聲明一個(gè)數(shù)組內(nèi)鏈method(new String[]{"a", "b", "c", "d", "e"}); 6、將數(shù)組中的元素以字符串的形式輸出
// containing the provided list of elements// Apache common langString j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");System.out.println(j);// a, b, c
同樣利用StringUtils中的join方法,可以將數(shù)組中的元素以一個(gè)字符串的形式輸出。
7、將Array轉(zhuǎn)化成Set集合Set<String> set = new HashSet<String>(Arrays.asList(stringArray));System.out.println(set);//[d, e, b, c, a]
在Java中使用Set,可以方便地將需要的類型以集合類型保存在一個(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è)元素int[] intArray = { 1, 2, 3, 4, 5 };int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new arraySystem.out.println(Arrays.toString(removed)); 再補(bǔ)充一個(gè):將一個(gè)int值轉(zhuǎn)化成byte數(shù)組
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();for (byte t : bytes) {System.out.format("0x%x ", t);}
英文原文:Top 10 Methods for Java Arrays 翻譯:codeceo – 小峰
相關(guān)文章:
1. JavaScript中常見(jiàn)的幾種獲取元素的方式2. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. phpstudy apache開(kāi)啟ssi使用詳解4. ASP.NET MVC使用異步Action的方法5. ajax實(shí)現(xiàn)頁(yè)面的局部加載6. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器7. jsp文件下載功能實(shí)現(xiàn)代碼8. uni-app結(jié)合.NET 7實(shí)現(xiàn)微信小程序訂閱消息推送9. 爬取今日頭條Ajax請(qǐng)求10. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算
