user10824969:
私は、テキストファイルにユニークな単語の数をカウントしようとしていました。簡略化のために、私の現在のファイルの内容は次のとおりです。
これはサンプルファイルです
私の試みは次のとおりです。
long wordCount =
Files.lines(Paths.get("sample.txt"))
.map(line -> line.split("\\s+"))
.distinct()
.count();
System.out.println(wordCount);
このコンパイルと実行の罰金が、結果はで1
、それがされるべきです5
。
彼らは次のとおりでした:
あなたが変換アレイ(各ラインマッピングするStream<String>
にはStream<String[]>
、その後、配列の要素の数を(ファイルの行数をIE)カウント。
あなたは使用する必要がありますflatMap
作成するために、Stream<String>
ファイル内のすべての単語のを、そして後distinct()
やcount()
操作、あなたは明確な単語の数を取得します。
long wordCount =
Files.lines(Paths.get("sample.txt"))
.flatMap(line -> Arrays.stream(line.split("\\s+")))
.distinct()
.count();