一道常考的javaSE面试题

2012-11-12
    这道题我也想些想法,当时他们和我说完,我在想用什么方法可以实现。毕竟现在javaSE都忘的差不多了,现在主要学的还是javaEE方面。年前学习JSP和SERVLET一片的知识,到了年后主要学习三大框架、ajax、jquery和XML等。不过当时出现脑中的算法只有:java.util包中定义的Arrays类和冒泡法。
    下面就拿上面方说的那两种方法具体说说。
    在JDK的java.util包中定义的Arrays类提供了多种数据操作方法,实现了对数组元素的排序、填充、转换、增强检索和深度比较等功能,所以的这些方法都是static的,下面介绍对数组元素进行排序的方法。数组元素的排序通常是指一维数值型数组元素按升序排序,偶尔也会涉及一维String数组排序,一般来说,多维和其他引用类型的元素数组排序使用意义不大。
    Arrays类中的sort()的格式:
    public static void sort([] a);
    案例1:
    JDK的java.util包中定义的Arrays类提供了排序方法
    一维数组排序:
    Java代码
    package cn.z_xiaofei168.sort;
    import java.util.Arrays;
    public class TestArraySort {
    /**
    * @author z_xiaofei168
    */
    public static void main(String[] args) {
    int[] arr = { -1, -3, 5, 7, 9, 2, 4, 6, 8, 10 };
    System.out.print("整数排序前:");
    displayIntArr(arr);
    Arrays.sort(arr);
    System.out.print("整数排序后:");
    displayIntArr(arr);
    String[] name = {"Tom","Kitty","James","z_xiaofei168","DXL_xiaoli","Zhang_Di"};
    System.out.print("字符串排序前:");
    displayStringArr(name);
    Arrays.sort(name);
    System.out.print("字符串排序后:");
    displayStringArr(name);
    }
    /** 整数排序方法 */
    public static void displayIntArr(int[] arr) {
    for (int i : arr) {
    System.out.print(i + "/t");
    }
    System.out.println();
    }
    /** 字符串排序方法  */
    public static void displayStringArr(String[] arr) {
    for (String s : arr) {
    System.out.print(s + "/t");
    }
    System.out.println();
    }
    }   运行结果如下图所示:

    案例2:冒泡法
    Java代码
    package cn.z_xiaofei168.sort;
    public class TestMaopao {
    /**
    * @author z_xiaofei168
    */
    public static void main(String[] args) {
    int[] arr = { -1, -3, 5, 7, 9, 2, 4, 6, 8, 10 };
    System.out.print("整数排序前:");
    for(int ar : arr){
    System.out.print(ar+"/t");
    }
    System.out.println();
    displayIntArr(arr);
    System.out.print("整数排序后:");
    for(int a : arr){
    System.out.print(a+"/t");
    }         }
    /** 冒泡排序方法  */
    public static void displayIntArr(int[] arr) {
    for (int i=arr.length-1;i>0;i--) {
    for (int j = 0; j < i; j++) {
    if(arr[j]>arr[j+1]){
    int temp;
    temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
    }
    }
    }
    }
    }
    运行结果如下图所示:

    大家还有什么方法可以实现这个功能,请大家给我留言。以至于我们共同学习、共同进步。

    考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

    编辑特别推荐:

    Java认证如何查看ControlFile中的内容

    Java中基本数据类型与应用

    Servlet中的八大Listener

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com