Java tutorial
//package com.java2s; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Main { /** * the class name comparator, and substring the last index of '.' */ private static final Comparator<String> SIMPLE_NAME_COMPARATOR = new Comparator<String>() { public int compare(String s1, String s2) { if (s1 == null && s2 == null) { return 0; } if (s1 == null) { return -1; } if (s2 == null) { return 1; } int i1 = s1.lastIndexOf('.'); if (i1 >= 0) { s1 = s1.substring(i1 + 1); } int i2 = s2.lastIndexOf('.'); if (i2 >= 0) { s2 = s2.substring(i2 + 1); } return s1.compareToIgnoreCase(s2); } }; /** * Compare the list with the simple-name-comparator. * @param list * the list argument. * @return * the sorted list. */ public static List<String> sortSimpleName(List<String> list) { if (list != null && list.size() > 0) { Collections.sort(list, SIMPLE_NAME_COMPARATOR); } return list; } @SuppressWarnings({ "unchecked", "rawtypes" }) public static <T> List<T> sort(List<T> list) { if (list != null && list.size() > 0) { Collections.sort((List) list); } return list; } }