You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将HashMap中每个Key对应的Values元素逐行打印输出?

问题解决:修改HashMap遍历代码实现指定输出格式

你当前的代码直接打印ArrayList对象时,会调用其默认的toString()方法,输出带方括号和逗号的格式。要实现每个元素单独换行的效果,需要遍历ArrayList中的每个元素并逐个打印,修改后的代码如下:

HashMap<Integer, ArrayList<String>> channels = ...
for(HashMap.Entry<Integer, ArrayList<String>> entry : channels.entrySet()) {
    Integer key = entry.getKey();
    // 把Object类型改为ArrayList<String>,方便直接操作列表元素
    ArrayList<String> value = entry.getValue();
    System.out.println(key);
    // 遍历ArrayList中的每个字符串,逐个打印
    for(String item : value) {
        System.out.println(item);
    }
    // 可选:如果需要在不同key的内容之间空一行,保留此行;不需要则删除
    // System.out.println();
}

关键修改说明:

  1. 修正value类型:将Object value = entry.getValue();改为ArrayList<String> value = entry.getValue();,避免不必要的类型转换,直接操作列表元素。
  2. 新增内层遍历:通过循环逐个打印ArrayList中的每个字符串,替代直接打印整个列表对象的操作(直接打印列表会触发默认格式输出)。
  3. 空行可选调整:原代码的空行打印可根据需求保留或删除,决定不同key对应的内容之间是否需要分隔空行。

运行修改后的代码,输出格式将符合你的需求:

101
Great British Bake Off
Pointless
Sherlock
24
Fury vs Wilder
F1 Monaco
Premier League

内容的提问来源于stack exchange,提问作者Dozziano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 13:33:15