package ToolCollectionsDemo; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class SrcSortDemo { /** * @param args */ public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("abc0"); list.add("asdvsc0"); list.add("avsv0"); list.add("ab"); list.add("ac0"); list.add("ac0"); list.add("ac0svsvsd"); System.out.println(list); // mySort(list); mysort_1(list, new compareByLength()); // Collections.sort(list); System.out.println(list); } public static <T> void mysort_1(List<T> list, Comparator<? super T> comp) { for (int i = 0; i < list.size() - 1; i++) { for (int j = i + 1; j < list.size(); j++) { if (comp.compare(list.get(i), list.get(j)) > 0) { Collections.swap(list, i, j); } // if(list.get(i).compareTo(list.get(j))>0){ // Collections.swap(list, i, j); // // T temp=list.get(i); // // list.set(i, list.get(j)); // // list.set(j,temp); // } } } } public static <T extends Comparable<? super T>> void mySort(List<T> list) {// 泛型 for (int i = 0; i < list.size() - 1; i++) { for (int j = i + 1; j < list.size(); j++) { if (list.get(i).compareTo(list.get(j)) > 0) { Collections.swap(list, i, j); // T temp=list.get(i); // list.set(i, list.get(j)); // list.set(j,temp); } } } } }