Comparator 是javase中的接口,位于java.util包下,该接口可以用于比较。
package cn.lf.day0830; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import org.junit.Test; public class ComparatorDemo { //使用Junit测试程序 @Test public void test(){ //创建集合 List<String> list = new ArrayList<String>(); //添加元素 list.add("sghg"); list.add("sag"); list.add("geaag"); list.add("agt"); /*Comparator使用率:0.5% * *compareTo():按照字典顺序排序,如果参数字符串等于此字符串, *则返回值 0;如果此字符串按字典顺序小于字符串参数,则返回一 *个小于 0 的值;如果此字符串按字典顺序大于字符串参数,则返回 *一个大于 0 的值。 * *int compare(T o1,T o2)比较用来排序的两个参数。根据第一 *个参数小于、等于或大于第二个参数分别返回负整数、零或正整数 */ //升序 /*list.sort(new Comparator<String>() { @Override public int compare(String str1, String str2) { if (str1.compareTo(str2)>0) { return 1; }else if(str1.compareTo(str2)<0){ return -1; }else { return 0; } } });*/ //降序 list.sort(new Comparator<String>() { @Override public int compare(String str1, String str2) { if (str1.compareTo(str2)<0) { return 1; }else if(str1.compareTo(str2)>0){ return -1; }else { return 0; } } }); System.out.println(list); } }升序排序运行结果:[agt, geaag, sag, sghg]
降序排序运行结果:[sghg, sag, geaag, agt]