所以我有这个编码,需要从 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());