java中按照數字字母排序

在一次面試的時候被面試官問到的一道問題,當時完全不知道是咋回事,今天特在這裏記錄一下

java中如何給一串有數字字母的字符串排序呢?

@Test
public void removeDuplicate2(){
    String[] array ={"b","a","c","a","1","3","E"};
    Arrays.sort(array,String.CASE_INSENSITIVE_ORDER);
    Set<String> str = new HashSet<String>();
    List<String> list = new ArrayList<String>();
    for (int i = 0; i < array.length; i++) {
        if(str.add(array[i])){
            list.add(array[i]);
        }
    }
    System.out.println("list"+list);
}

控制檯打印的結果

String.CASE_INSENSITIVE_ORDER這個斷應該很多朋友都有疑問但是看過源碼的都知道,這裏是通過ASCII排序的