场景:可排序的数值得字符串,转化成list集合后进行的排序的几种方法(不一定有用,细细品)
代码:
public class ListSort { public static void main(String[] args) { String str = "24,48,72,96,120,10,150"; sort1(str);//输出的结果是:10 120 150 24 48 72 96 System.out.print(" "); sort2(str);//输出的结果是:10 24 48 72 96 120 150 System.out.print(" "); sort3(str);//输出的结果是:10 24 48 72 96 120 150 } //第一种方式 public static void sort1(String str){ String[] strArr = str.split(","); Arrays.sort(strArr);//java自带的排序方法 for (String string : strArr) { System.out.print(string+" "); } } //第二种方式 public static void sort2(String str){ String[] strArr = str.split(","); List<String> listArr = Arrays.asList(strArr); Collections.sort(listArr,new Comparator<String>(){ public int compare(String o1, String o2) { //前者大于后者 if(Integer.parseInt(o1) > Integer.parseInt(o2)){ return 1; } //后者大于前者 if(Integer.parseInt(o1) < Integer.parseInt(o2)){ return -1; } //两者相等 return 0; } }); for(String string : listArr){ System.out.print(string+" "); } } //第三种方式 public static void sort3(String str){ String[] arr = str.split(","); int size = arr.length; for (int i = 0; i < size - 1; i++) { for(int j = i+1;j<arr.length;j++){ if(Integer.parseInt(arr[i]) > Integer.parseInt(arr[j])){ String temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for(String string : arr){ System.out.print(string+" "); } } }