小编Kha*_*los的帖子

使用 Java 8 搜索字谜

我必须编写程序,该程序应该读取字谜文件并显示单词+他的字谜。Txt文件很大,使用扫描仪后,listOfWords大小为:25000。

输出示例:

word anagram1 anagram2 anagram3 ...
word2 anagram1 anagram2...
Run Code Online (Sandbox Code Playgroud)

我有代码,它可以工作,但速度很慢:

  private static List<String> listOfWords = new ArrayList<String>();
  private static List<ArrayList<String>> allAnagrams = new ArrayList<ArrayList<String>>();

  public static void main(String[] args) throws Exception {
    URL url = new URL("www.xxx.pl/textFile.txt");
    Scanner scanner = new Scanner(url.openStream());
    while (scanner.hasNext()) {
      String nextToken = scanner.next();
      listOfWords.add(nextToken);
    }
    scanner.close();

    while (listOfWords.isEmpty() == false) {
      ArrayList<String> anagramy = new ArrayList<String>();
      String wzor = listOfWords.remove(0);
      anagramy.add(wzor);
      char[] ch = wzor.toCharArray();
      Arrays.sort(ch);
      for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

java anagram java-8 java-stream

2
推荐指数
1
解决办法
9137
查看次数

标签 统计

anagram ×1

java ×1

java-8 ×1

java-stream ×1