Java 以降序显示我的文本文件中的单词



所以我有这个编码,需要从 LinkedList 中的文本文件中读取单词,并在其上使用迭代器来显示所有单词(允许重复(按字母降序排列(每行分隔 4 个单词"tab"(,比较使用迭代器遍历列表的时间与使用 get(index( 方法遍历列表的时间。

到目前为止,我能够让它按升序显示,但不能按降序显示。 我尝试的是在//行后面:

import java.util.*;
import java.io.*;

public class Task1 {
    public static void main(String[] args) throws Exception {
        // Check number of arguments passed
        if (args.length != 1) {
            System.out.println("Usage: TextFile");
            System.exit(0);
        }
String filename = args[0];
TreeSet<String>treeSet = new TreeSet<String>();
try
{
    Scanner in = new Scanner(new File(filename));
    String line;
    while ((line = in.nextLine())!=null)
    {
        String[] tokens = line.split("[||n|t|r|.|,|)|(|-|"]");

        for (int i = 0; i  < tokens.length; i++)
        //for (int i = tokens.length -1; i >= 0; i--)
            treeSet.add(tokens[i]);
    }
}
catch (Exception ex)
{
}
Iterator iterator = treeSet.iterator();
System.out.println("nDisplay words in ascending order");
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}

有什么建议吗? 提前谢谢。

你为什么不使用这个:

List<String> arraylist = new ArrayList<>(treeSet);
Collections.sort(arraylist, Collections.reverseOrder());
现在数组列表

将以相反的顺序包含您的字符串,您可以迭代此数组列表以打印它们。希望这就是你要找的?

你也可以这样做:

    TreeSet<String> treeSet = new TreeSet<String>(Collections.reverseOrder());

相关内容

  • 没有找到相关文章

最新更新