您的位置:首页 > 其它

Collections 自定义比较器 Comparator

2013-03-07 16:30 330 查看
package cn.kyle.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

public class RandomSort {

/**
* @param args
*/
public static void main(String[] args) {
List list = new ArrayList();
Random r = new Random();
for(int i = 0;i<10;i++){
list.add(r.nextInt(100));
}
System.out.println("list开始状态");
Iterator it1 = list.iterator();
while(it1.hasNext()){
System.out.println(it1.next());
}
//Collections.sort方法将用默认比较器排列list的元素
System.out.println("list被默认比较器排序后的状态");
Collections.sort(list);
Iterator it2 = list.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
//下面将list的元素按降序排列
Comparator comparator = new ComparatorListSort();
Collections.sort(list, comparator);
Iterator it3 = list.iterator();
System.out.println("list被自定义比较器排序后的状态");
while(it3.hasNext()){
System.out.println(it3.next());
}
}
}
package cn.kyle.test;

import java.util.Comparator;

public class ComparatorListSort implements Comparator {
@Override
public int compare(Object o1, Object o2) {
if (((Integer) o1).intValue() > ((Integer) o2).intValue()) {
return -1;
} else if (((Integer) o1).intValue() < ((Integer) o2).intValue()) {
return 1;
} else {
return 0;
}

}
}
Collections工具类

成员全是static的

专门对集合进行操作的类。

sort方法

Collections.sort( )

可自定义比较器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: