Arrays クラス

import java.io.*;
import java.util.*;

public class Test {
	public static void main (String args[]) throws ClassCastException
	{
		int i1, k_n, k_c, key_n, data_n [] = {10, 1, 45, 20, 0, -20, 15, 90, 5, 55};
		String key_c, data_c[] = {"fish", "dog", "tree", "human", "cat"};
	/*
			 探索キー
	*/
		key_n = Integer.parseInt(args[0]);
		key_c = args[1];
	/*
			 整数の場合
	*/
					// ソート前の出力
		System.out.print("sort前   ");
		for (i1 = 0; i1 < 10; i1++)
			System.out.print(data_n[i1] + " ");
		System.out.print("\n");
					// ソートとその後の出力
		Arrays.sort(data_n);
		System.out.print("sort後   ");
		for (i1 = 0; i1 < 10; i1++)
			System.out.print(data_n[i1] + " ");
		System.out.print("\n");
					// 探索
		k_n = Arrays.binarySearch(data_n, key_n);

		if (k_n >= 0)
			System.out.print("   " + data_n[k_n] + " が見つかりました\n");
		else
			System.out.print("   " + key_n + " は見つかりませんでした\n");
	/*
			 文字列の場合
	*/
					// ソート前の出力
		System.out.print("sort前   ");
		for (i1 = 0; i1 < 5; i1++)
			System.out.print(data_c[i1] + " ");
		System.out.print("\n");
					// ソートとその後の出力
		Arrays.sort(data_c);
		System.out.print("sort後   ");
		for (i1 = 0; i1 < 5; i1++)
			System.out.print(data_c[i1] + " ");
		System.out.print("\n");
					// Comparatorを使用したソートとその後の出力(降順)
		Comparator<String> cp = new Comp();
		Arrays.sort(data_c, cp);

		System.out.print("sort後(降順)   ");
		for (i1 = 0; i1 < 5; i1++)
			System.out.print(data_c[i1] + " ");
		System.out.print("\n");
					// 探索
		k_c = Arrays.binarySearch(data_c, key_c, cp);

		if (k_c >= 0)
			System.out.print("   " + data_c[k_c] + " が見つかりました\n");
		else
			System.out.print("   " + key_c + " は見つかりませんでした\n");
	}
}

class Comp implements Comparator <String> {
	public int compare (String arg1, String arg2)
	{
		return arg2.compareTo(arg1);
	}
}
		
(出力)
c:\tmp>java Test 10 dog
sort前   10 1 45 20 0 -20 15 90 5 55
sort後   -20 0 1 5 10 15 20 45 55 90
   10 が見つかりました
sort前   fish dog tree human cat
sort後   cat dog fish human tree
sort後(降順)   tree human fish dog cat
   dog が見つかりました