iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
Software Development

Java入門的30張門票系列 第 14

[Day14] Java進階陣列操作

  • 分享至 

  • xImage
  •  

昨天介紹了陣列的宣告還有一些基本的操作,像是取得長度和獲取元素。今天就來簡單介紹幾個常用的方法,這些陣列相關方法都被定義在java.util套件中的Arrays裡,所以再使用前別忘了import進去~

印出元素 toString()

可以快速的印出陣列中的所有元素。

int[] intArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
System.out.println(Arrays.toString(intArray));  // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

複製陣列 clone()

會複製一個一模一樣的陣列物件,不過新陣列與原陣列分別佔用不同記憶體,彼此互不影響。

int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = intArray.clone();
intArray[0]=100;
System.out.println(Arrays.toString(intArray));  // [100, 2, 3, 4, 5]
System.out.println(Arrays.toString(intArray2));  // [1, 2, 3, 4, 5]

排序 sort()

可以很快速的來把陣列內元素由小排到大。

int[] intArray = { 4, 7, 5, 1, 9, 2 };
System.out.println(Arrays.sort(intArray));  // [1, 2, 4, 5, 7, 9]

搜尋 binarySearch()

使用二分搜尋法,在執行搜尋前必須先把陣列排序好,如果找到相符合的元素會回傳它的索引值,如果找不到則是回傳-1。

int[] intArray = { 1, 2, 3, 4, 5 };
System.out.println(Arrays.binarySearch(intArray, 3));  // 2

比較元素 equal()

如果想比較裡面元素內容一不一樣的話要使用equal(),而不是用==來判斷,==是判斷記憶體的位址一不一樣。至於相等的條件是每個陣列元素的值、順序都要完全一樣,如果順序不同結果就會變成false。

int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 1, 2, 3, 4, 5 };
System.out.println(Arrays.equal(intArray, intArray2));  // true

上一篇
[Day13] Java 陣列宣告 & 基本使用
下一篇
[Day15] 我想當富二代 - 繼承
系列文
Java入門的30張門票30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言