我想阅读一个单词列表。然后我想按字母顺序排列每个单词中的每个字符,这样我就有了一个完整的单词列表,其中每个字母都按字母顺序排列。例如,如果我想从文本文件中读取“cat”“dog”“mouse”,我将拥有 [a,c,t]、[d,g,o] 和 [e,m,o,s,你]。
我正在用Java实现这个。我考虑了一个链接列表或其他一些集合,但我不确定如何实现这些。我知道这并不像将每个字符串转换为 char 数组或使用数组列表那么简单。(我已经试过了)
有没有人有任何建议或这样做的例子?
基本上,我只是想通过算法变得更好。
public class AnagramSolver1 {
static List<String> inputList = new ArrayList<String>();
public static void main(String[] args) throws IOException {
List<String> dictionary = new ArrayList<String>();
BufferedReader in = new BufferedReader(new FileReader("src/dictionary.txt"));
String line = null;
Scanner scan = new Scanner(System.in);
while (null!=(line=in.readLine()))
{
dictionary.add(line);
}
in.close();
char[] word;
for (int i = 0; i < dictionary.size(); i++) {
word = inputList.get(i).toCharArray();
System.out.println(word);
}