首页 > 解决方案 > 如何使用java从文本文件中删除重复的单词

问题描述

我有一个输入文件

名称.txt

   Maria Derek Erica
   Livia Jack Anita
   Kendall Maria Livia Derek
   Jamie Jack
   Thomson Erica

我想像这样输出。从名称中删除重复的单词

输出.txt

   Maria Derek Erica
   Livia Jack Anita
   Kendall 
   Jamie 
   Thomson

我已经尝试读取由空格分隔的文件,然后将它们添加到 ArrayList 中,然后我失去了下一步要做什么来生成输出。

import java.util.Scanner;
import java.io.*;
import java.util.ArrayList;

public class duplicate {
   public static void main(String[] args) throws IOException {
      ArrayList<String> list = new ArrayList<String>();
      File file = new File("weather.txt");
      Scanner input = new Scanner(file); 
      String prev = input.next();
      int count = 0;
      while (input.hasNext()) {
         String next  = input.next();
         System.out.println(next);
         set.add(next);
         count = count + 1;
         if(prev.equals(next))
         {
            System.out.println("Match found: -" + prev);
         }
         prev = next;
      } 

      System.out.println(list);
      System.out.println("Word count: " + count);
   }
}

标签: java

解决方案


如果顺序无关紧要,只需使用Set。Set 会自动过滤掉重复的元素。然后打印出那套。你会好起来的。

Set<String> list = new HashSet<String>();

推荐阅读