Java 如何添加地图<;字符串,字符串>;进入地图<;字符串,列表<;对象>&燃气轮机;在爪哇 公共地图获取患者(字符串发送应用程序、字符串发送设施){ //TODO自动生成的方法存根 Map patientMap=null; List patientList=null; patientMap=newHashMap(); patientList=新的ArrayList(); 试一试{ PatientInfoDAO PatientInfoDAO=new PatientInfoDAOImpl(); ItemCollection items=patientInfoDAO.getPatients(发送应用程序、发送设施); 用于(项目:项目){ PatientInfo patient=新的PatientInfo(); patient.setAdministrativeSex(item.getString(“”); patient.setFamilyName(item.getString(“FAMILYNAME”); patient.setGivenName(item.getString(“GIVENNAME”); patient.setadmitdatetime(item.getString(“性别”); patient.setAssignedPatientLocationBuilding(item.getString(“用户名”)); patient.setAssignedPatientLocationFloor(item.getString(“密码”)); patient.setAssignedPatientLocationPersonLocationType(item.getString(“用户角色”)); patient.setAssignedPatientLocationRoom(item.getString(“用户状态”); patient.setAssignedPatientLocationBed(item.getString(“电子邮件”); patient.SetAttentingDoctor(item.getString(“EMROPERATOR”); patient.setClientId(item.getString(“clientId”); patient.setDateOrTimeOfMessage(item.getString(“dateOrTimeOfMessage”)); 患者.setDischargeDateOrTime(item.getString(“dischargeDateOrTime”); patient.setDob(item.getString(“dob”)); patient.seteventoccurrendtime(item.getString(“eventoccurrendtime”); patient.setImageUrl(item.getString(“imageUrl”); patient.setLastModifiedOn(item.getString(“lastModifiedOn”); patient.setMessageControlId(item.getString(“messageControlId”); patient.setNrPatientId(item.getString(“nrPatientId”); patient.setPatientId(item.getString(“patientId”); patient.setPatientStatus(item.getString(“patientStatus”); patient.setPriorPatientLocationBed(item.getString(“priorPatientLocationBed”); patient.setPriorPatientLocationBuilding(item.getString(“priorPatientLocationBuilding”); patient.setPriorPatientLocationFloor(item.getString(“priorPatientLocationFloor”); patient.setPriorPatientLocationPersonLocationType(item.getString(“priorPatientLocationPersonLocationType”); patient.setPriorPatientLocationPointOfCare(item.getString(“priorPatientLocationPointOfCare”); patient.setPriorPatientLocationRoom(item.getString(“priorPatientLocationRoom”); patient.setReceivingFacility(item.getString(“receivingFacility”)); patient.setReceivingApplication(item.getString(“ReceivingApplication”); patient.setSendingApplication(item.getString(“SendingApplication”); patient.setSendingFacility(item.getString(“sendingFacility”)); patientList.add(患者); } 字符串日期=新的SimpleDataFormat(“yyyyMMddHHmmss”).format(新日期()); patientMap.put(“PATIENTLIST”,PATIENTLIST); patientMap.put(“LASTKEY”,日期); 返回patientMap; }捕获(AmazonServiceException ase){ 抛出新的运行时异常(“internalServerError”); }捕获(amazonclientexase){ 抛出新的运行时异常(“internalServerError”); } }

Java 如何添加地图<;字符串,字符串>;进入地图<;字符串,列表<;对象>&燃气轮机;在爪哇 公共地图获取患者(字符串发送应用程序、字符串发送设施){ //TODO自动生成的方法存根 Map patientMap=null; List patientList=null; patientMap=newHashMap(); patientList=新的ArrayList(); 试一试{ PatientInfoDAO PatientInfoDAO=new PatientInfoDAOImpl(); ItemCollection items=patientInfoDAO.getPatients(发送应用程序、发送设施); 用于(项目:项目){ PatientInfo patient=新的PatientInfo(); patient.setAdministrativeSex(item.getString(“”); patient.setFamilyName(item.getString(“FAMILYNAME”); patient.setGivenName(item.getString(“GIVENNAME”); patient.setadmitdatetime(item.getString(“性别”); patient.setAssignedPatientLocationBuilding(item.getString(“用户名”)); patient.setAssignedPatientLocationFloor(item.getString(“密码”)); patient.setAssignedPatientLocationPersonLocationType(item.getString(“用户角色”)); patient.setAssignedPatientLocationRoom(item.getString(“用户状态”); patient.setAssignedPatientLocationBed(item.getString(“电子邮件”); patient.SetAttentingDoctor(item.getString(“EMROPERATOR”); patient.setClientId(item.getString(“clientId”); patient.setDateOrTimeOfMessage(item.getString(“dateOrTimeOfMessage”)); 患者.setDischargeDateOrTime(item.getString(“dischargeDateOrTime”); patient.setDob(item.getString(“dob”)); patient.seteventoccurrendtime(item.getString(“eventoccurrendtime”); patient.setImageUrl(item.getString(“imageUrl”); patient.setLastModifiedOn(item.getString(“lastModifiedOn”); patient.setMessageControlId(item.getString(“messageControlId”); patient.setNrPatientId(item.getString(“nrPatientId”); patient.setPatientId(item.getString(“patientId”); patient.setPatientStatus(item.getString(“patientStatus”); patient.setPriorPatientLocationBed(item.getString(“priorPatientLocationBed”); patient.setPriorPatientLocationBuilding(item.getString(“priorPatientLocationBuilding”); patient.setPriorPatientLocationFloor(item.getString(“priorPatientLocationFloor”); patient.setPriorPatientLocationPersonLocationType(item.getString(“priorPatientLocationPersonLocationType”); patient.setPriorPatientLocationPointOfCare(item.getString(“priorPatientLocationPointOfCare”); patient.setPriorPatientLocationRoom(item.getString(“priorPatientLocationRoom”); patient.setReceivingFacility(item.getString(“receivingFacility”)); patient.setReceivingApplication(item.getString(“ReceivingApplication”); patient.setSendingApplication(item.getString(“SendingApplication”); patient.setSendingFacility(item.getString(“sendingFacility”)); patientList.add(患者); } 字符串日期=新的SimpleDataFormat(“yyyyMMddHHmmss”).format(新日期()); patientMap.put(“PATIENTLIST”,PATIENTLIST); patientMap.put(“LASTKEY”,日期); 返回patientMap; }捕获(AmazonServiceException ase){ 抛出新的运行时异常(“internalServerError”); }捕获(amazonclientexase){ 抛出新的运行时异常(“internalServerError”); } },java,Java,在这种情况下,我无法将日期字符串添加到地图> 您正在尝试将字符串放置在地图需要列表的位置 而不是: public Map<String, List<PatientInfo>> getPatients(String sendingApplication,String sendingFacility) { // TODO Auto-generated method stub Map<String, List<PatientInfo&

在这种情况下,我无法将日期字符串添加到地图>

您正在尝试将字符串放置在地图需要列表的位置

而不是:

public Map<String, List<PatientInfo>> getPatients(String sendingApplication,String sendingFacility) {
        // TODO Auto-generated method stub
        Map<String, List<PatientInfo>> patientMap = null;
        List<PatientInfo> patientList = null;
        patientMap = new HashMap<String, List<PatientInfo>>();
        patientList = new ArrayList<PatientInfo>();
        try {
        PatientInfoDAO patientInfoDAO = new PatientInfoDAOImpl();
        ItemCollection<QueryOutcome> items = patientInfoDAO.getPatients(sendingApplication, sendingFacility);

        for(Item item : items){
            PatientInfo patient = new PatientInfo();
            patient.setAdministrativeSex(item.getString(""));
            patient.setFamilyName(item.getString("FAMILYNAME"));
            patient.setGivenName(item.getString("GIVENNAME"));
            patient.setAdmitDateOrTime(item.getString("GENDER"));
            patient.setAssignedPatientLocationBuilding(item.getString("USERNAME"));
            patient.setAssignedPatientLocationFloor(item.getString("PASSWORD"));
            patient.setAssignedPatientLocationPersonLocationType(item.getString("USERROLE"));
            patient.setAssignedPatientLocationRoom(item.getString("USERSTATUS"));
            patient.setAsssignedPatientLocationBed(item.getString("EMAIL"));
            patient.setAttendingDoctor(item.getString("EMROPERATOR"));
            patient.setClientId(item.getString("clientId"));
            patient.setDateOrTimeOfMessage(item.getString("dateOrTimeOfMessage"));
            patient.setDischargeDateOrTime(item.getString("dischargeDateOrTime"));
            patient.setDob(item.getString("dob"));
            patient.setEventOccuredTime(item.getString("eventOccuredTime"));
            patient.setImageUrl(item.getString("imageUrl"));
            patient.setLastModifiedOn(item.getString("lastModifiedOn"));
            patient.setMessageControlId(item.getString("messageControlId"));
            patient.setNrPatientId(item.getString("nrPatientId"));
            patient.setPatientId(item.getString("patientId"));
            patient.setPatientStatus(item.getString("patientStatus"));
            patient.setPriorPatientLocationBed(item.getString("priorPatientLocationBed"));
            patient.setPriorPatientLocationBuilding(item.getString("priorPatientLocationBuilding"));
            patient.setPriorPatientLocationFloor(item.getString("priorPatientLocationFloor"));
            patient.setPriorPatientLocationPersonLocationType(item.getString("priorPatientLocationPersonLocationType"));
            patient.setPriorPatientLocationPointOfCare(item.getString("priorPatientLocationPointOfCare"));
            patient.setPriorPatientLocationRoom(item.getString("priorPatientLocationRoom"));
            patient.setReceivingFacility(item.getString("receivingFacility"));
            patient.setRecevingApplication(item.getString("recevingApplication"));
            patient.setSendingApplicaation(item.getString("sendingApplicaation"));
            patient.setSendingFacility(item.getString("sendingFacility"));

            patientList.add(patient);
        }

        String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        patientMap.put("PATIENTLIST", patientList);
        patientMap.put("LASTKEY", date);


        return patientMap;

        }catch(AmazonServiceException ase){

            throw new RuntimeException("internalServerError");
        }catch(AmazonClientException ase){

            throw new RuntimeException("internalServerError");
        }
    }       
地点:

patientMap.put("PATIENTLIST", patientList);
patientMap.put("LASTKEY", date);
使用以日期字符串为键、患者列表为值的映射,您可以快速获得给定日期的患者列表


如果要使用映射以字符串形式保存日期和对象列表,则必须将这些字符串转换回其原始日期或患者对象列表


如果这确实是您想要的,我建议您研究java对象序列化和反序列化

您只能在
映射
的定义中添加已定义的对象类型(即
列表
,因为您正在创建类似于
映射
)要添加字符串,您还应该使用
Map

,正如我在评论中提到的,您可以使用
Map
类型的映射来保存患者列表和日期。这个解决方案的问题是

  • 它不是类型安全的
  • 它很容易在地图键的名称中出现拼写错误
  • 无论何时从映射中检索项目,都必须执行强制转换,如下例所示
  • 这保证了类型安全性,并消除了键名称中键入错误的风险和铸造的需要:

    public class PatientData {
        private List<PatientInfo> patientList = new ArrayList<>();
        private Date lastKey; // or better still, use one of the Java 8 date classes
    
        // getters and setters...
    }
    

    以下是您为实现上述目标所做的小改动(您必须更改退货类型):

    公共地图获取患者(字符串发送应用程序、字符串发送设施){
    //TODO自动生成的方法存根
    Map patientMap=null;
    List patientList=null;
    patientMap=newHashMap();
    patientList=新的ArrayList();
    试一试{
    PatientInfoDAO PatientInfoDAO=new PatientInfoDAOImpl();
    ItemCollection items=patientInfoDAO.getPatients(发送应用程序、发送设施);
    用于(项目:项目){
    PatientInfo patient=新的PatientInfo();
    患者性别(“男性”);
    patientList.add(患者);
    }
    字符串日期=新的SimpleDataFormat(“yyyyMMddHHmmss”).format(新日期());
    PatientMapObject pmo=新的PatientMapObject();
    pmo.setPatientList(patientList);
    项目办设定更新日期(日期);
    patientMap.put(“PATIENTLIST”,pmo);
    返回patientMap;
    }捕获(异常ase){
    抛出新的运行时异常(“internalServerError”);
    }
    }
    类PatientMapObject{
    私人名单病人名单;
    私有的
    
    Map<String, Object> patientData = new HashMap<>();
    patientData.put("LASTKEY", date);
    
    String lastKey = (String) patientData.get("LASTKEY");
    
    public class PatientData {
        private List<PatientInfo> patientList = new ArrayList<>();
        private Date lastKey; // or better still, use one of the Java 8 date classes
    
        // getters and setters...
    }
    
    PatientData patientData = new PatientData();
    patientData.setLastKey(new Date());
    
    Date date = patientData.getLastKey();
    
    public Map<String, PatientMapObject> getPatients(String sendingApplication,String sendingFacility) {
        // TODO Auto-generated method stub
        Map<String, PatientMapObject> patientMap = null;
        List<PatientInfo> patientList = null;
        patientMap = new HashMap<String, PatientMapObject>();
        patientList = new ArrayList<PatientInfo>();
        try {
    
            PatientInfoDAO patientInfoDAO = new PatientInfoDAOImpl();
            ItemCollection<QueryOutcome> items = patientInfoDAO.getPatients(sendingApplication, sendingFacility);
    
           for(Item item : items){
                PatientInfo patient = new PatientInfo();
    
                patient.setAdministrativeSex("Male");
    
                patientList.add(patient);
            }
    
            String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
    
            PatientMapObject pmo = new PatientMapObject();
            pmo.setPatientList(patientList);
            pmo.setPDate(date);
    
            patientMap.put("PATIENTLIST", pmo);
            return patientMap;
        }catch(Exception ase){
    
            throw new RuntimeException("internalServerError");
        }
    }
    
    class PatientMapObject{
    
    
        private List<PatientInfo> patientList;
        private String pdate;
    
        public void setPDate(String pdate) {
            this.pdate = pdate; 
        }
    
        public void setPatientList(List<PatientInfo> patientList) {
            this.patientList = patientList;
        }
    
        //getters 
    }