Java数组排序和查找详解编程语言

Java 1.2 添加了自己的一套实用工具,可用来对数组或列表进行排列和搜索。这些工具都属于两个新类的“静态”方法。这两个类分别是用于排序和搜索数组的Arrays,以及用于排序和搜索列表的Collections。

/** 
 * Created by Frank 
 */ 
public class Array1 { 
    static Random r = new Random(); 
    static char[] src = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray(); 
 
    // Create a random String 
    public static String randString(int length) { 
        char[] buf = new char[length]; 
        int rnd; 
        for (int i = 0; i < length; i++) { 
            rnd = Math.abs(r.nextInt()) % src.length; 
            buf[i] = src[rnd]; 
        } 
        return new String(buf); 
    } 
 
    // Create a random array of Strings 
    public static String[] randStrings(int length, int size) { 
        String[] s = new String[size]; 
        for (int i = 0; i < size; i++) { 
            s[i] = randString(length); 
        } 
        return s; 
    } 
 
    public static void print(byte[] b) { 
        for (byte aB : b) { 
            System.out.println(aB + " "); 
        } 
        System.out.println(); 
    } 
 
    public static void print(String[] s) { 
        for (String value : s) { 
            System.out.print(value + " "); 
        } 
        System.out.println(); 
    } 
 
    public static void main(String[] args) { 
        byte[] b = new byte[15]; 
        r.nextBytes(b); 
        print(b); 
        java.util.Arrays.sort(b); 
        print(b); 
        int loc = Arrays.binarySearch(b, b[10]); 
        System.out.println("Location of " + b[10] + " = " + loc); 
        String[] s = randStrings(4, 10); 
        print(s); 
        Arrays.sort(s); 
        print(s); 
        loc = Arrays.binarySearch(s, s[4]); 
        System.out.println("Location of " + s[4] + " = " + loc); 
    } 
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/15988.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论