我有一個程序需要一個單詞和一個文本文件字典,並搜索字典中與給定單詞相等(都是anagrams)的單詞組合。字符串數組的排列Array列表Java
我最終得到了一個String數組的Arraylist,每個數組都是一個包含它使用的單詞的解決方案,而Arraylist是所有的解決方案。
我然後遍歷數組列表和數組作爲排序:
List<String> list = Arrays.asList(array);
list.sort(Comparator.comparing(String::length).reversed().thenComparing(String::compareTo));
,其通過字長度(降序)排序第一,然後使用字母作爲仲裁斷路器相等的長度的話。
我現在已經單獨的陣列進行排序,但我試圖將它們按照一定的規則在ArrayList中的排序:按升序話
- ,和所有單詞長度相同,數組按字母順序排序。
- 字數相等,但長度不同:最長不等長的第一個。例如,如果[0]長度== b [0]長度但b [1]長度> a [1]長度,則b首先出現。
它們已經按單詞升序存儲,因爲單詞解決方案首先被發現,然後是2個單詞等,被附加到數組列表中。
現在,隨着排序後,數組也是在降序字長的順序,我認爲必須有一個簡單的比較器來實現上述,但我努力做到這一點。