Текстовый файл в Java Set с использованием Commons или Guava

#java #text-files #guava #hashset

#java #текстовые файлы #guava #hashset

Вопрос:

Я хотел бы загрузить каждую строку в файле в коллекцию HashSet. Есть ли простой способ сделать это?

Ответ №1:

Как насчет:

 Sets.newHashSet(Files.readLines(file, charSet));
  

(с использованием Guava).

Ссылки:

Комментарии:

1. При статическом импорте это становится newHashSet(readLines(file, charSet));

Ответ №2:

Вы можете сделать

 Set<String> lines = new HashSet<String>(FileUtils.readLines(new File("foo.txt")));
  

Используя класс Apache Commons FileUtils и метод readlines.

Комментарии:

1. readLines метод устарел, используйте readLines(File, Charset) вместо

Ответ №3:

Multiset может хранить дублированные строки, если ваш текст содержит дублированные строки. (добавить порядок)

 Multiset<String> set = LinkedHashMultiset.create();
  

Ответ №4:

С помощью ввода-вывода Apache Commons у вас есть, readLines который возвращает List . Затем вы можете добавить все элементы из возвращенного списка в свой HashSet (будьте осторожны: совместимость типов между List и Set и потеря дублированных строк).