Текстовый файл в Java Set <String>, используя Commons или Guava - PullRequest
3 голосов
/ 27 апреля 2011

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

Ответы [ 4 ]

13 голосов
/ 27 апреля 2011

Как насчет:

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

(с использованием гуавы).

Ссылки:

10 голосов
/ 27 апреля 2011

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

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

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

2 голосов
/ 27 апреля 2011

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

Multiset<String> set = LinkedHashMultiset.create();
0 голосов
/ 27 апреля 2011

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

...