Java 基礎拾遺(二)

這篇我們來復習下針對數組常用的一些方法。
1、優(yōu)化過的快速排序法

int[] array = {11,12,232,32,23,18,34};
Arrays.sort(array);// 升序
System.out.println(Arrays.toString(array));  //  [11, 12, 18, 23, 32, 34, 232]

對數組中的元素,從第幾個到第幾個進行排序

int[] array = {7, 18, 32, 3, 12, 10, 6, 3, 5};
// 對數組中的元素,從第3個到第7個進行排序
Arrays.sort(array, 2, 7);
for (int i = 0; i < array.length; i++) {
     System.out.println(array[i]);
}
// result=[7, 18, 3, 6, 10, 12, 32, 3, 5]

從結果我們可以看到是這樣的一個區(qū)間"[...)",包括索引是2的元素,不包括索引是7的元素

2、二分查找法,返回元素在數組中的索引

int[] array = {11, 12, 32, 34, 28, 29, 100};
int index = Arrays.binarySearch(array, 32); 
System.out.println("index = " + index); // result=2

若是查找不到,則返回(-插入點-1)

int[] array = {11, 12, 32, 34, 28, 29, 100};
int index = Arrays.binarySearch(array, 23); 
System.out.println("index = " + index); // result=-3 (-3 = -2 - 1)

3、System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

int[] src = {1, 2, 3, 4, 5};
int[] dest = {18, 27};
// 第一個參數:原數組
// 第二個參數:從原數組的第幾個元素開始取
// 第三個參數:目標數組
// 第四個參數:將從原數組中取到的第一個元素,存入目標數組的第幾個元素
// 第五個參數:從原數組取幾個數據,這個值的大小要小于等于目標數組的大小
System.arraycopy(src, 1, dest, 0, 2); // result=[2, 3]
for (int i = 0; i < dest.length; i++) {
   System.out.println(dest[i]);
}

注意: 第五個參數,這個值要是大于目標數組的大小,就會報如下錯誤

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at com.miliyo.test.Main.main(Main.java:25)

4、比較兩個數組中的元素是否完全一致

int[] array1 = {7, 18, 32, 3, 12, 10, 6, 3, 5};
int[] array2 = {7, 18, 32, 3, 12, 10, 6, 3, 5};
boolean result = Arrays.equals(array1, array2);
System.out.println("result = " + result); // result = true
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、基本數據類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數值 對于byte類型而言...
    龍貓小爺閱讀 4,436評論 0 16
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,628評論 18 399
  • 第五章 數組 數組是一個基礎的數據結構,它用來存儲一組相同類型的元素的集合。數組非常有用,例如Java提供的集合...
    光劍書架上的書閱讀 602評論 0 6
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,644評論 0 3
  • 有一個故事講,一個女人每次面對別人盯著看她的眼光就會受不了,這會讓她想起小時候被同學欺負的情景,但她低頭看...
    海上好閱讀 389評論 1 5

友情鏈接更多精彩內容