java - 尝试使用 String.join 打印,但它不起作用
问题描述
我正在尝试从下面的代码中打印这些键。当我使用 String.join 时,它不会将它们以逗号和空格分隔,而是作为一个单词打印。不知道我做错了什么。
String[] words = scanner.nextLine().toLowerCase().split(" ");
LinkedHashMap<String, Integer> count = new LinkedHashMap<>();
for (int i = 0; i < words.length; i++) {
Integer occurrences = count.get(words[i]);
if (occurrences == null) {
occurrences = 0;
}
count.put(words[i], occurrences + 1);
}
for (Map.Entry<String, Integer> entry : count.entrySet()) {
if (entry.getValue() % 2 != 0) {
System.out.print(String.join(", ", entry.getKey()));
}
}
} }
解决方案
代码中的String.join
方法是为每个单词单独执行的。您需要先收集所有单词(例如在 a 中ArrayList
),然后再执行Strin.join(", ", <your list object>)
。
推荐阅读
- python - 熊猫:分组列,将列表行合并到单个列中进行分组?
- c# - 加载html时的C#HtmlAgilityPack编码问题
- php - 注释和 PHP 打开/关闭标签之间是否需要换行符?
- javascript - 如何在对象的属性上添加属性?
- python - Keras 当我尝试训练我的模型时,我得到一个“
“ 错误 - python - 在 Whoosh 中一次搜索多个索引
- android - 为什么从我粘贴的内容中更新 IDE 需要这么长时间?
- azure-devops - 由于数据分类语句,Azure DevOps DACPAC 部署失败
- fortran - 将使用 Conda 安装的 FFTW 库链接到 gfortran?
- sql - 动态 SQL 查询