java中Comparator接口的用法

时间:2021-12-29 02:52:10
/**
 * 功能:通过对一个整形数组进行排序,来了解Comparator用法
 * 
 * @author wangchangshuai0010 山东科技大学 2013年2月7日 0:05
 */
package test;

import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Test
{
	private class MyComparator implements Comparator<Integer>
	{
		@Override
		public int compare(Integer o1, Integer o2)
		{
			if (o1 > o2)
			{
				return 1;
			}
			else if (o1 < o2)
			{
				return -1;
			}
			else
			{
				return 0;
			}
		}
	}

	public static void main(String[] args)
	{
		Test main = new Test();
		MyComparator mComparator = main.new MyComparator();
		Scanner cin = new Scanner(new BufferedInputStream(System.in));
		System.out.println("请输入数组的长度:");
		int count = cin.nextInt();
		Integer A[] = new Integer[count];
		System.out.println("请依次输入这 " + count + " 个数:");
		for (int i = 0; i < A.length; i++)
		{
			A[i] = cin.nextInt();
		}
		Arrays.sort(A, mComparator);
		System.out.println("排序结果如下:");
		for (int i = 0; i < A.length; i++)
		{
			System.out.print(A[i] + " ");
		}
	}
}