public class AbsComparator implements Comparator { public int compare(Object o1, Object o2) { int v1 = Math.abs(((Integer)o1).intValue()); int v2 = Math.abs(((Integer)o2).intValue()); return v1 > v2 ? 1 : (v1 == v2 ? 0 : -1); } }
public class Test { public static void main(String[] args) {
//产生一个20个随机整数的数组(有正有负) Random rnd = new Random(); Integer[] integers = new Integer[20]; for(int i = 0; i < integers.length; i++) integers[i] = new Integer(rnd.nextInt(100) * (rnd.nextBoolean() ? 1 : -1));
system.out.println("用Integer内置方法排序:"); Arrays.sort(integers); system.out.println(Arrays.asList(integers));
system.out.println("用AbsComparator排序:"); Arrays.sort(integers, new AbsComparator()); system.out.println(Arrays.asList(integers)); }}
以下网友留言只代表其个人观点,不代表求学网的观点或立场
lulu的博客