テキストファイルの単語のリストがすべて一意であるかどうか、またはHashSetを使用して重複があるかどうかを判断するプログラムを構築しています。重複がある場合、唯一の出力は "NOT_UNIQUE"でなければならず、重複がない場合、出力は "ユニーク"でなければなりません。HashSetをテストするときにループから1つの出力を取得する方法
私はこれを行う方法は、ファイルからHashSetに単語を追加することですが、単語が追加できない場合、その単語は重複しているためです。私はすでにプログラムを構築し始めていますが、プログラムの最後には一度だけではなく、すべての単語に対して「ユニーク」を出力します。私はこれが私のwhileループとinfile.readLine()の使用と関係していると思いますが、ここで何をすべきか分かりません。ご協力ありがとうございました。私のコードは以下の通りです:
import java.io.*;
import java.util.*;
public class Lab5
{
public static void main (String[] args) throws Exception
{
HashSet<String> set = new HashSet<String>();
BufferedReader infile = new BufferedReader(new FileReader(args[0]));
while (infile.ready())
{
String word = infile.readLine();
if (!set.add(word))
System.out.println("NOT_UNIQUE \n");
else
System.out.println("UNIQUE \n");
}
}
}
あなたの答えはBergerよりも効率的ですが、今削除されても、ストリームを閉じることはありません(OPはどちらも気にしません)。 – Mena