首页 > 其他分享 >abc等多个系统 每个系统有多个文档 ,每个系统根据不同的文类型获取该文件类型最新上传时间文档

abc等多个系统 每个系统有多个文档 ,每个系统根据不同的文类型获取该文件类型最新上传时间文档

时间:2024-01-22 14:11:53浏览次数:34  
标签:Map 多个 get 系统 system docType 文档 systemDocuments

假如有abc等多个系统 每个系统有多个文档 ,每个系统根据不同的文类型获取该文件类型最新上传时间文档(文件类型(文件类型字段为idoctype)
分别为设计文档和评审记录文档,最新上传时间字段为 duptime )这个思路 和Java代码list怎莫处理

对于这个问题,可以使用一个嵌套的Map来处理。外层的Map的键是系统名称,值是内层Map。内层的Map的键是文件类型,值是最新上传时间对应的文档。

具体的Java代码如下所示:

Map<String, Map<String, Document>> systemDocuments = new HashMap<>();

// 假设有一个List<Document>对象存储了所有的文档信息
List<Document> documents = // 获取所有文档信息的代码

for (Document document : documents) {
    String system = document.getSystem();
    String docType = document.getDocType();
    Date uploadTime = document.getUploadTime();
    
    // 检查系统是否已存在于外层的Map中
    if (!systemDocuments.containsKey(system)) {
        systemDocuments.put(system, new HashMap<>());
    }
    
    // 检查文档类型是否已存在于内层的Map中
    if (!systemDocuments.get(system).containsKey(docType)) {
        systemDocuments.get(system).put(docType, document);
    } else {
        // 检查上传时间是否晚于已存在的文档的上传时间
        Document existingDocument = systemDocuments.get(system).get(docType);
        if (uploadTime.after(existingDocument.getUploadTime())) {
            systemDocuments.get(system).put(docType, document);
        }
    }
}

// 遍历系统和文档类型,获取最新上传时间的文档
for (String system : systemDocuments.keySet()) {
    for (String docType : systemDocuments.get(system).keySet()) {
        Document latestDocument = systemDocuments.get(system).get(docType);
        // 执行相应的操作,如下载文档等
    }
}
// 创建一个新的Map来存储最新文档
Map<String, Document> latestDocuments = new HashMap<>();

// 遍历系统和文档类型,获取最新上传时间的文档
for (String system : systemDocuments.keySet()) {
    for (String docType : systemDocuments.get(system).keySet()) {
        Document latestDocument = systemDocuments.get(system).get(docType);
        String key = system + "_" + docType; // 组合键,例如:system1_design
        latestDocuments.put(key, latestDocument);
    }
}

// 遍历最新文档Map进行操作或输出
for (String key : latestDocuments.keySet()) {
    Document document = latestDocuments.get(key);
    System.out.println("System: " + document.getSystem() + ", DocType: " + document.getDocType() + ", UploadTime: " + document.getUploadTime());
    // 执行其他操作,如下载文档等
}

以上代码会将最新上传时间的文档重新封装成一个新的Map形式,并进行操作或输出。你可以根据需要修改输出的方式或相应的操作。

标签:Map,多个,get,系统,system,docType,文档,systemDocuments
From: https://www.cnblogs.com/codeLearn/p/17979927

相关文章

  • 过程文档编制规范
    ......
  • NCC Mocha v0.10 发布,.NET 开发的基于 OpenTelemetry 的 APM 系统
    目录项目简介项目进度v0.10发布内容项目背景平台功能技术架构v0.10快速体验启动项目Trace数据的发送配置Jaeger数据源Trace数据的查询项目简介Mocha是一个基于.NET开发的APM系统,同时提供可伸缩的可观测性数据分析和存储平台。项目地址:https://github.com/dotnetcore......
  • 大模型时代的对话系统
    在当今的大模型时代,对话系统已经成为了人工智能领域的研究热点。随着深度学习技术的不断发展,大模型在对话系统中的应用也越来越广泛。这些大模型能够处理海量的数据,从中提取出更加丰富和准确的信息,从而提高了对话系统的智能水平和交互体验。然而,随着大模型的普及,对话系统也面临着新......
  • 第四章结构化布线系统——教案
    第四章结构化布线系统一、教学目标:1.掌握结构化布线系统的概念、优点、标准、结构2.掌握双绞线的应用3.了解光纤的应用4.了解布线系统的测试技术5.了解结构化布线系统工程安装施工的基本知识二、教学重点、难点结构化布线系统和双绞线的特性、RJ-45接头的接线标准及其制作三、......
  • 什么样的安全数据交换系统 能够兼容信创环境?
    首先,我来看看,什么是安全数据交换系统?安全数据交换系统是一种专门设计用于在不同网络环境之间安全传输数据的技术解决方案。它确保数据在传输过程中的完整性、机密性和可用性,同时遵守相关的数据保护法规和行业标准。那么,企业为什么会需要用到安全数据交换系统?主要是出于以下几点......
  • 基于MIMO通信系统的球形译码算法matlab性能仿真,对比PSK检测,SDR检测
    1.算法运行效果图预览 2.算法运行软件版本MATLAB2022A 3.算法理论概述      球形译码算法(SD)是一种基于多输入多输出(MIMO)通信系统的检测算法。与相移键控(PSK)和软件定义无线电(SDR)相比,它具有更高的频谱效率和可靠性,下面将详细介绍SD算法。       ......
  • PostgreSQL运维诊断之操作系统分析
    本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQLOperatingSystemAnalysisandDiagnosis,学完本课程可以掌握PostgreSQL操作系统性能优化分析及工具说明,操作系统工具之top/topas,操作系统工具之vmstat,操作系统工具之iostat,操作系统工具之free/lsps/swapin......
  • 并发编程之操作系统引入
    一、引言顾名思义,进程就是正在执行的一个过程。进程是对正在运行程序的一个抽象说法。所谓进程,起源于操作系统最核心的概念,操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统。二、为什么要有操作系统现代的计算机系统主要是由一个......
  • PG DBA培训22:PostgreSQL运维诊断之操作系统分析
    本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQLOperatingSystemAnalysisandDiagnosis,学完本课程可以掌握PostgreSQL操作系统性能优化分析及工具说明,操作系统工具之top/topas,操作系统工具之vmstat,操作系统工具之iostat,操作系统工具之free/lsps/swapinf......
  • 系统是怎样跑起来的读后感悟第一章
    cpu能够直接识别和执行的只有机器语言C,Java等语言编写的程序,最后都会转化为机器语言。CPU是由许多晶体管组成的电子部件,cpu的内部被分为四个部分,寄存器、控制器、运算器和时钟,四个部分之间由电流信号相互连通寄存器:可以用来暂存指令、数据等处理对象可以将其看作是内存的一种。......