天天看點

9.11排序與查找(二)——對字元串數組進行排序,将全部的變位詞排在相鄰的位置

/**

 * 功能:對字元串數組進行排序,将全部的變位詞排在相鄰的位置。

 */

兩種方法:

方法一:

/**
	 * 思路:套用排序算法,并改動比較器。      

這裡比較器用來訓示兩個字元串胡偉變位詞就是相等的。 * @param array */ public static void sort(String[] array){ Arrays.sort(array, new AnagramComparator()); } class AnagramComparator implements Comparator<String>{          @Override     //改動比較器     public int compare(String s1,String s2){         return sortChars(s1).compareTo(sortChars(s2));     }          /**      * 思路:檢查是否為變位詞。對字元串直接進行排序。假設互為變位詞,則排序後相等。      * @param s      * @return      */     public static String sortChars(String s){         char[] content=s.toCharArray();         Arrays.sort(content);         return new String(content);     }      }

方法二:

/**
	 * 思路:用散清單存儲同為變位詞的單詞,然後放回數組中。