Collections 自定义比较器 Comparator

来源:互联网 发布:音乐的发展历程知乎 编辑:程序博客网 时间:2024/06/05 19:32
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 {@Overridepublic 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( )

可自定义比较器



原创粉丝点击