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);
}
}