Java 需要按字母顺序排列文本文件中的单词

Java 需要按字母顺序排列文本文件中的单词,java,Java,我有一个文本文件,里面有我需要按字母顺序排列的单词。要做到这一点,我应该采取哪些步骤。我知道我需要使用一个数组,但我不确定确切的细节。此外,我不知道如何读取每个字符串,因为我只知道.nextLine,它将所有字符串放在一行中 在这方面已经做了一段时间,没有取得太大的进展。如果您能提供任何帮助,我们将不胜感激。您需要创建一个“全局”列表(不是数组,因为您不知道长度)来保存单词,然后阅读每一行。将每行拆分为一个单词数组,然后将它们添加到此全局列表中。然后对列表进行排序 以下是此功能的基本实现示例:

我有一个文本文件,里面有我需要按字母顺序排列的单词。要做到这一点,我应该采取哪些步骤。我知道我需要使用一个数组,但我不确定确切的细节。此外,我不知道如何读取每个字符串,因为我只知道.nextLine,它将所有字符串放在一行中

在这方面已经做了一段时间,没有取得太大的进展。如果您能提供任何帮助,我们将不胜感激。

您需要创建一个“全局”列表(不是数组,因为您不知道长度)来保存单词,然后阅读每一行。将每行拆分为一个单词数组,然后将它们添加到此全局列表中。然后对列表进行排序

以下是此功能的基本实现示例:

Scanner scanner = new Scanner(file);
ArrayList<String> allWords = new ArrayList();
while (scanner.hasNextLine()) {
   String line = scanner.nextLine();
   String[] words = line.split(" ");
   List<String> wordList = Arrays.asList(words)
   allWords.addAll(wordList);             
}
scanner.close();
Collections.sort(allWords);
Scanner Scanner=新的扫描仪(文件);
ArrayList allWords=新的ArrayList();
while(scanner.hasNextLine()){
字符串行=scanner.nextLine();
String[]words=line.split(“”);
List wordList=Arrays.asList(单词)
allWords.addAll(单词列表);
}
scanner.close();
Collections.sort(allWords);
请注意,我写了这个手稿,所以可能会有语法甚至逻辑错误。希望它能给你一条基本的前进之路。而且,我没有处理异常


希望这有帮助。请提出更多问题,祝您Java学习好运

我也不知道如何使用bufferedreader,我看到很多使用我的课程的人到目前为止只学习了scanner课程,我不想继续。在这里为我们概述一下您当前的逻辑,。。。不是你的代码,而是你认为你的程序为了解决这个问题应该采取的逻辑步骤。将内容添加到数组中会很困难,因为(我假设)你不知道可能存在多少元素。类似于
ArrayList
的东西可能是更好的解决方案。然后,您可以使用
Collections.sort
对列表进行排序……是的,arraylist可以工作。因为《战争与和平》这本书有很多元素,哈哈!因此,我目前的逻辑是:1。从用户处获取作为参数的文档名。2.将arg[0]设为变量3。将该变量转换为文件和扫描程序类4.以某种方式扫描每个字符串并将其添加到arraylist 5.重新排列arraylist Alpabely 6.打印出新的arraylist.我没有得到while循环的最后两行,最后两行中的第一行将数组转换为列表,以便以后可以使用
sort()
method。这些行实际上并不是问题的关键,而是符合我选择的API。因此,当行按空格拆分为单词时,将得到一个字符串数组。此数组需要转换为列表,然后添加到“全局”列表中。Arrays.asList就是这样做的。最后,循环的最后一行将这个句子级列表添加到文档级列表中。addAll()方法只接受一个集合,如下所示: