Java陣列操作的10大方法
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
下面是精心整理的Java陣列操作的10大方法,大部分程式碼都來自Stack Overflow。
0、定義一個Java陣列
String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"};
第一種是定義了一個陣列,並且指定了陣列的長度,我們這裡稱它為動態定義。
第二種和第三種在分配記憶體空間的同時還初始化了值。
1、列印Java陣列中的元素
int[] intArray = { 1, 2, 3, 4, 5 }; String intArrayString = Arrays.toString(intArray); // print directly will print reference value System.out.println(intArray); // [I@7150bd4d System.out.println(intArrayString); // [1, 2, 3, 4, 5]
這裡的重點是說明了Java中陣列的引用和值得區別,第三行直接列印intArray,輸出的是亂碼,因為intArray僅僅是一個地址引用。第4行輸出的則是真正的陣列值,因為它經過了Arrays.toString()的轉化。對Java初學者來說,引用和值仍需重視。
2、從Array中建立ArrayList
String[] 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轉換成ArrayList呢?可能是因為ArrayList是動態連結串列,我們可以更方便地對ArrayList進行增刪改,我們並不需要迴圈Array將每一個元素加入到ArrayList中,用以上的程式碼即可簡單實現轉換。
3、檢查陣列中是否包含某一個值
String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray).contains("a"); System.out.println(b); // true
先使用Arrays.asList()將Array轉換成List<String>,這樣就可以用動態連結串列的contains函式來判斷元素是否包含在連結串列中。
4、連線兩個陣列
int[] intArray = { 1, 2, 3, 4, 5 }; int[] intArray2 = { 6, 7, 8, 9, 10 }; // Apache Commons Lang library int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
ArrayUtils是Apache提供的陣列處理類庫,其addAll方法可以很方便地將兩個陣列連線成一個陣列。
5、宣告一個陣列內鏈
method(new String[]{"a", "b", "c", "d", "e"});
6、將陣列中的元素以字串的形式輸出
// containing the provided list of elements // Apache common lang String j = StringUtils.join(new String[] { "a", "b", "c" }, ", "); System.out.println(j); // a, b, c
同樣利用StringUtils中的join方法,可以將陣列中的元素以一個字串的形式輸出。
7、將Array轉化成Set集合
Set<String> set = new HashSet<String>(Arrays.asList(stringArray)); System.out.println(set); //[d, e, b, c, a]
在Java中使用Set,可以方便地將需要的型別以集合型別儲存在一個變數中,主要應用在顯示列表。同樣可以先將Array轉換成List,然後再將List轉換成Set。
8、陣列翻轉
int[] intArray = { 1, 2, 3, 4, 5 }; ArrayUtils.reverse(intArray); System.out.println(Arrays.toString(intArray)); //[5, 4, 3, 2, 1]
依然用到了萬能的ArrayUtils。
9、從陣列中移除一個元素
int[] intArray = { 1, 2, 3, 4, 5 }; int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array System.out.println(Arrays.toString(removed));
再補充一個:將一個int值轉化成byte陣列
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes) { System.out.format("0x%x ", t); }
譯文連結:http://www.codeceo.com/article/10-java-array-method.html
英文原文:Top 10 Methods for Java Arrays
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 初識Java(Java陣列-陣列的基本操作)Java陣列
- Java操作Json陣列JavaJSON陣列
- 陣列的reduce操作+物件陣列的map操作陣列物件
- java陣列遍歷的方法Java陣列
- java陣列拷貝的方法Java陣列
- 常用的幾個陣列操作方法陣列
- java大陣列劃分為若干小陣列Java陣列
- java 陣列的定義(宣告)方法Java陣列
- js陣列操作方法小結JS陣列
- 陣列操作陣列
- 對陣列的操作陣列
- 陣列的操作(2)陣列
- Scala的陣列操作陣列
- 陣列的基本操作陣列
- javascript中常用的陣列操作方法,以及是否會改變原始陣列JavaScript陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- vue陣列操作遇到坑-關於陣列操作Vue陣列
- JavaScript陣列操作函式方法詳解JavaScript陣列函式
- 陣列的方法陣列
- JS陣列去重的10種方法JS陣列
- Java的 陣列Java陣列
- 【譯】10. Java反射——陣列Java反射陣列
- Java實驗2 方法與陣列Java陣列
- 陣列的操作-變形陣列
- javascript陣列操作JavaScript陣列
- Numpy陣列操作陣列
- Scala陣列操作陣列
- Jquery陣列操作jQuery陣列
- JavaScript 陣列操作JavaScript陣列
- Java核心基礎第4篇-Java陣列的常規操作Java陣列
- shell指令碼字串和陣列的使用操作方法指令碼字串陣列
- js陣列操作--使用迭代方法替代for迴圈JS陣列
- Java陣列03:陣列使用Java陣列
- 陣列常用的方法陣列
- 陣列的常用方法陣列
- JS陣列的方法JS陣列
- 陣列方法陣列
- java語言複製陣列的四種方法Java陣列