Если честно, ваш вопрос не совсем понятен - не очевидно, почему у вас есть lineCount
, или что будет делать deleteDuplicates
, или почему вы назвали переменную line
таким образом, когда на самом деле это не строка - это карта от строк до номера последней строки, на которой появилась эта строка.
Если вам не нужны номера строк, я бы использовал Set<String>
.
Однако, кроме всего прочего, если вы посмотрите на keySet
из line
, то будет всеми строками. Это предполагает, что текстовый файл действительно в кодировке по умолчанию для вашей системы (к сожалению, именно это использует FileReader
- я обычно использую InputStreamReader
и указываю кодировку явно).
Если бы вы могли дать нам короткую, но завершенную программу, текстовый файл, который вы используете в качестве ввода, ожидаемый вывод и фактический вывод, это было бы полезно.