java的Collections.sort的参数Comparator
作者:
Bonker
,
2022-03-06 18:11:00
,
所有人可见
,
阅读 218
java的Collections.sort的参数Comparator
函数实现:public static [HTML_REMOVED] void sort(List[HTML_REMOVED] list,Comparator<? super T> c)
import java.util.*;//导入util类包
public class test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();//定义动态数组
list.add("45");//向数组中加入字符串
list.add("56");
list.add("10");
list.add("9");
list.add("25");
System.out.println( "---------------升序排列----------------" );
// 升序排列
Collections.sort(list, new Comparator<String>() {
@Override
//自定义重写方法
public int compare(String o1, String o2) {
int num1 = Integer.parseInt(o1);//将String字符类型数据转换为Integer整型数据
int num2 = Integer.parseInt(o2);
if (num1 > num2) {//从数组中获取的数依次对比:大于返回1,小于返回-1,等于返回0
return 1;
} else if (num1 < num2) {
return -1;
} else {
return 0;
}
}
});
for (String str : list) {//遍历出排好序的数组中的值
System.out.println(str);
}
System.out.println( "---------------降序排列----------------" );
// 降序排列
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int num1 = Integer.parseInt(o1);
int num2 = Integer.parseInt(o2);
if (num1 < num2) {
return 1;
} else if (num1 > num2) {
return -1;
} else {
return 0;
}
}
});
for (String str : list) {
System.out.println(str);
}
}
}