Java中的Arrays工具類
阿新 • • 發佈:2020-09-08
快速排序(java.util.Arrays)
快速排序是藉助於java.util包下的Arrays類來運算元組的,它提供的所有方法都是靜態的,具有以下功能:
給陣列賦值:通過fill方法。
對陣列排序:通過sort方法。
陣列的比較:通過equals方法比較陣列中元素的值是否相等。
查詢陣列元素:通過binarySearch方法能對排序好的陣列進行二分查詢法操作。
說明:
1.public static int binarySearch(Object[] a,Object key)用二分查詢演算法在給定陣列中搜索給定值的物件(byte,int,double等)。陣列在呼叫前必須是排序好的,如果查詢值包含在陣列中,則返回搜尋鍵的索引;否則返回( -(插入點) - 1 )。
2.public static boolean equals(long[] a,long[] a2)如果兩個指定的long型陣列彼此相等,則返回true,如果兩個陣列包含相同數量的元素,並且兩個陣列中的所有相應元素對都是相等的,則認為這兩個陣列是相等的。也就是說,如果兩個陣列以相同順序包含相同的元素,則兩個陣列是相等的。同樣的方法適用於所有的其他基本資料型別的陣列(byte,short,int等)。
3.public static void fill(int[] a,int val)將指定的int值分配給指定的int型的陣列指定範圍中的每個元素。同樣的方法適用於所有的其他基本資料型別(byte,short,int等)。
4.public static void sort(Object[] a)對指定物件陣列根據其元素的自然順序進行升序排列。同樣的方法適用於所有的其他基本資料型別(byte,short,int等)。
/* * @author 劉小將 * 測試Arrays工具類 */ import java.util.Arrays; public class TestArrays{ public static void output(int[] array){ if(array!=null){ for(int i = 0;i < array.length;i++){ System.out.println(array[i]+""); } } System.out.println(); } //主方法(main) public static void main(String[] args){ int[] array = new int[5]; //填充陣列 Arrays.fill(array,5); TestArrays.output(array); //將陣列的第2個和第3個元素賦值為8 Arrays.fill(array,2,4,8); TestArrays.output(array); int[] array1 = {7,8,3,2,12,6,3,5,4}; //對陣列的第2個到第6個進行排序 Arrays.sort(array1,2,7); TestArrays.output(array1); //對整個陣列進行排序 Arrays.sort(array1); TestArrays.output(array1); //比較陣列元素是否相等 boolean b = Arrays.equals(array,array1); System.out.println(b); int[] array2 = array1.clone(); TestArrays.output(array2); //使用二分搜尋演算法查詢(必須是排序好的,否則結果不正確) Arrays.sort(array1); //元素3在array1中的位置:Arrays.binarySearch(array1,3) int temp = Arrays.binarySearch(array1,3); System.out.println(temp); //元素9在array1中的位置:Arrays.binarySearch(array1,9) //如果不存在就返回負數 temp = Arrays.binarySearch(array1,9); System.out.println(temp); } }
執行結果如下:
5 5 5 5 5
5 5 8 8 5
7 8 2 3 3 6 12 5 4
2 3 3 4 5 6 7 8 12
false
2 3 3 4 5 6 7 8 12
1
-9