#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")));
Комментарии:
1.
readLines
метод устарел, используйтеreadLines(File, Charset)
вместо
Ответ №3:
Multiset может хранить дублированные строки, если ваш текст содержит дублированные строки. (добавить порядок)
Multiset<String> set = LinkedHashMultiset.create();
Ответ №4:
С помощью ввода-вывода Apache Commons у вас есть, readLines
который возвращает List
. Затем вы можете добавить все элементы из возвращенного списка в свой HashSet
(будьте осторожны: совместимость типов между List
и Set
и потеря дублированных строк).