java单机版word-count
java.nio.file.Path.of方法需要jdk11的支持
public static void main(String[] args) {
// 1.利用try-with-resource语句从文件读取每行文字,形成以行为单位的字符串流
try (Stream<String> lineStream = Files.lines(Path.of("/Users/yang/test.txt"), Charset.defaultCharset())) {
List<String> collect = lineStream
.flatMap(line -> Arrays.stream(line.split("\t"))) // 2.将每行字符用制表符切分,每一行就形成了一个单词流,居于内层;然后将所有内层流扁平化,汇聚成一个大的外层流
.distinct() // 3.去重
.collect(Collectors.toList());
System.out.println(collect.size());
collect.forEach(System.err::println); //只能输出所有不重复的单词
} catch (IOException e) {
e.printStackTrace();
}
}
WC:
public static void main(String[] args) {
// 1.利用try-with-resource语句从文件读取每行文字,形成以行为单位的字符串流
try (Stream<String> lineStream = Files.lines(Path.of("/Users/yang/test.txt"), Charset.defaultCharset())) {
List<String> collect = lineStream
.flatMap(line -> Arrays.stream(line.split("\t"))) // 2.将每行字符用制表符切分,每一行就形成了一个单词流,居于内层;然后将所有内层流扁平化,汇聚成一个大的外层流
.map(String::trim)
.collect(Collectors.groupingBy(String::toString));
mapped.forEach((k, v) -> System.err.println(k + "----" + v.size())); //输出所有不重复的单词及数量
} catch (IOException e) {
e.printStackTrace();
}
}
学习使我充实,分享给我快乐!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)