前面介绍了排序问题(见博客http://blog.csdn.net/qq_32059827/article/details/51362390);二分查找问题(见博客http://blog.csdn.net/qq_32059827/article/details/51363949)
接下来用一个类快速实现排序和二分查找。Arrays类
import java.util.Arrays; /* * Arrays:针对数组进行操作的工具类。比如说排序和查找。 * 1:public static String toString(int[] a)返回指定数组内容的字符串表示形式。 * 2:public static void sort(int[] a) 对数组进行排序,对指定的 int 型数组按数字升序进行排序。 * 3:public static int binarySearch(int[] a,int key) 二分查找。使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。 * a - 要搜索的该数组 key - 要搜索的值 */ public class ArraysDemo { public static void main(String[] args) { // 定义一个数组 int[] arr = { 24, 69, 80, 57, 13 }; // public static String toString(int[] a) 把数组转成字符串 System.out.println("排序前:" + Arrays.toString(arr)); // public static void sort(int[] a) 对数组进行排序 Arrays.sort(arr);//返回值是void类型,先排序再输出 System.out.println("排序后:" + Arrays.toString(arr)); // [13, 24, 57, 69, 80]。arr = {13, 24, 57, 69, 80}int类型数组 // public static int binarySearch(int[] a,int key) 二分查找 //注意:二分查找一个无序的额数组的索引是不正确的思路。 System.out.println("binarySearch:" + Arrays.binarySearch(arr, 57)); System.out.println("binarySearch:" + Arrays.binarySearch(arr, 558)); } }
可见排序和二分查找变得如此简单。