栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基本语法3-快速排序、Arrays工具类、数组常见异常

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基本语法3-快速排序、Arrays工具类、数组常见异常

快速排序



代码实现:

    public static void swap(int[] data,int i,int j){
        int temp = data[i];
        data[i] = data[j];
        data[j] = temp;
    }
    public static void subSort(int[] data,int start,int end){
        if(start < end){
            int base = data[start];
            int low = start;
            int high = end + 1;
            while(true){
                while (low< end && data[++low]-base<=0); //先看左边,low比base小的话就递加
                while (high > start && data[--high] - base>=0); //再看右边,high比base大的话就递减
                if (low 
数组中常见算法性能对比 

Arrays工具类的使用
int arr1[] = new int[] { 21, 43, 542, 432, 4, 2, 5, 1 };
int arr2[] = new int[] { 32, 43, 4, 1, 4, 76, 54, 68, 4 };

// 1.Arrays.equals(arr1, arr2):判断数组是否相等
System.out.println(Arrays.equals(arr1, arr2));
// 2.Arrays.toString(arr1):输出数组信息
System.out.println(Arrays.toString(arr1));

// 3.Arrays.fill(arr1, 2):将指定值填充到数组中
Arrays.fill(arr1, 2);
System.out.println(Arrays.toString(arr1));
// 4.Arrays.sort(arr2):对数组进行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
// 5.Arrays.binarySearch(arr2, 1):堆排序好的数组用二分法检索指定值
int index = Arrays.binarySearch(arr2, 1);
System.out.println(index);


运行结果:
false
[21, 43, 542, 432, 4, 2, 5, 1]
[2, 2, 2, 2, 2, 2, 2, 2]
[1, 4, 4, 4, 32, 43, 54, 68, 76]
0

数组中常见的异常 1.数组角标越界异常:
int[] arr = new int[]{1,2,3,4,5};

for(int i = 0;i <= arr.length;i++){
    System.out.println(arr[i]);
}

System.out.println(arr[-2]);

System.out.println("hello");


结果:

1
2
3
4
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
	at helloworld.main(helloworld.java:194)
2.空指针异常:
//情况一:
int[] arr1 = new int[]{1,2,3};
arr1 = null;
System.out.println(arr1[0]);

//情况二:
int[][] arr2 = new int[4][];
System.out.println(arr2[0][0]);

//情况:
String[] arr3 = new String[]{"AA","BB","CC"};
arr3[0] = null;
System.out.println(arr3[0].toString());

结果

Exception in thread "main" java.lang.NullPointerException: Cannot load from int array because "arr1" is null
	at helloworld.main(helloworld.java:194)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820144.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号