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

Angular中如何遍历Map<String,List<Number>>生成指定表格?

遍历Map生成指定格式表格的实现方案

假设你使用Java语言,以下是直接可行的实现代码,能将给定的Map<String, List<Number>>转换为目标格式的表格:

import java.util.*;
import java.util.stream.Collectors;

public class MapToTable {
    public static void main(String[] args) {
        // 初始化你的Map数据
        Map<String, List<Number>> dataMap = new LinkedHashMap<>(); // 用LinkedHashMap保证插入顺序
        dataMap.put("aList", Arrays.asList(1, 2, 3));
        dataMap.put("bList", Arrays.asList(4, 5, 6));
        dataMap.put("cList", Arrays.asList(7, 8, 9));

        // 1. 生成表头行
        List<String> headers = new ArrayList<>(dataMap.keySet());
        String headerRow = "|" + String.join("|", headers) + "|";
        System.out.println(headerRow);

        // 2. 计算最大行数(兼容列表长度不一致的情况)
        int maxRowCount = dataMap.values().stream()
                .mapToInt(List::size)
                .max()
                .orElse(0);

        // 3. 逐行生成表格内容
        for (int rowIndex = 0; rowIndex < maxRowCount; rowIndex++) {
            StringBuilder rowBuilder = new StringBuilder("|");
            for (String header : headers) {
                List<Number> columnData = dataMap.get(header);
                // 处理列表长度不足的情况,显示空占位
                String cellValue = rowIndex < columnData.size() 
                        ? String.format("  %s  ", columnData.get(rowIndex)) 
                        : "     ";
                rowBuilder.append(cellValue).append("|");
            }
            System.out.println(rowBuilder);
        }
    }
}

关键步骤说明

  • 保持列顺序:使用LinkedHashMap存储数据,保证表头和列的顺序与插入顺序一致;如果不需要固定顺序,用普通HashMap后对表头排序即可。
  • 表头生成:直接提取Map的键,拼接成表格的第一行。
  • 行内容生成:遍历每个行索引,依次从每个列表中取出对应位置的元素,格式化为带空格的单元格;如果某个列表长度不足当前行索引,用空格占位保证表格对齐。
  • 兼容性:代码兼容列表长度不一致的场景,不会因某个列数据少而报错。

如果需要标准Markdown表格的分隔行(即表头下方的|---|---|---|),可以在表头行后添加如下代码:

String separatorRow = "|" + headers.stream()
        .map(header -> "---")
        .collect(Collectors.joining("|")) + "|";
System.out.println(separatorRow);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:14:51