-1

以下に示すように、アプリケーションのバックエンドから取得している値の患者 ID があります。

 String PatientId = rxDetails.getPatient().getPatientID() ; //patient ID recieved from backend

以下に示すように詳細を保存する別のマップを次に示します

 Map <String ,List<String>> m = new LinkedHashMap LinkedHashMap<String,List<String>>();
  List<String> info = new ArrayList<String>();
                info.add("ScriptInfo");
                info.add("Name");
                info.add("PhoneNo");
  m.put(PatientID ,info);
  transaction.setValue(ITransaction.PATIENT_DETAILS_FOR_CCV, ppvdetails);//please ignore this line as it is my framework dependent and in this line I am storing the Map

示されているように、患者 ID も格納します。

今私の質問は、私がバックエンドから取得している患者IDが最初のものであるという特定の条件で、マップmにすでに存在するかどうかをクロスチェックする必要があるということです

以下に示すように、ValidatedPatientList という名前の別の Map で Map m の参照を取得しています。

Map ValidatedPatientList = (LinkedHashMap)transaction.getValue(ITransaction.VALIDATED_CCV_PH_NBR);//please ignore this line as it is my framework dependent and in this line I am retreving the Mao
if(ValidatedPatientList != null && !ValidatedPatientList.isEmpty())
      {
       Iterator iterator = ValidatedPatientList.keySet().iterator();
          if(iterator.hasNext())
          {

上記のように、最初に ValidatedPatientList のすべてのキーを抽出し、最初の患者 ID が含まれているかどうかを比較する必要があります。これを達成する方法を教えてください..!!

4

1 に答える 1

1

を使用しHashMap#containsKeyます。指定されたキーのマッピングがマップに含まれている場合は true を返します。

のJavadocjava.util.HashMap

/**
 * Returns <tt>true</tt> if this map contains a mapping for the
 * specified key.
 *
 * @param   key   The key whose presence in this map is to be tested
 * @return <tt>true</tt> if this map contains a mapping for the specified
 * key.
 */
public boolean containsKey(Object key) {
    return getEntry(key) != null;
}

コードサンプル:

Map<String ,List<String ValidatedPatientList = (LinkedHashMap<String ,List<String)transaction.getValue(ITransaction.VALIDATED_CCV_PH_NBR);
if(ValidatedPatientList != null && !ValidatedPatientList.isEmpty())
{  
   if (validatedPatientList.containsKey(patientId)) //returns true if map contains the key
   {...}
}
于 2013-01-05T12:35:17.697 に答える