Prima di parlare della differenza tra una coppia e una HashMap, lascia che ti dica perché non è proprio la domanda che vuoi rispondere. Quello che vuoi veramente sapere è perché dovresti prendere un oggetto e scomporlo in una lista di primitive chiave/valore.
Il codice si fa riferimento è la conversione da un approccio orientato oggetto di utilizzare una classe Patient
(che sembra davvero come dovrebbe essere chiamato PatientInfo
) in un elenco di primitive, sono essentialy "deObjectOrienting" della classe.
Quindi nel loro modello ogni variabile di classe diventa Pair
dove il nome della variabile diventa la chiave e il valore della variabile diventa il valore.
Ecco un esempio di classe espansa
// Old style (Object oriented)
class PatientInfo{
String religion;
String address;
}
PatientInfo patientInfo = new PatientInfo();
patientInfo.setReligion("myReligionName");
patientInfo.setAddress("address of the patient");
// New Style, key/value primitive pairs (very not object oriented)
Pair<String,String> religionInfo = new Pair<String,String>("religion","myReligionName");
Pair<String,String> addressInfo = new Pair<String,String>("address","address of the patient");
Essi quindi aggiungere questi sia il Patient
o Pair
in un elenco.
Perché qualcuno dovrebbe fare questa è una buona domanda. La maggior parte delle persone cerca di diventare più orientata agli oggetti in quanto facilita la codifica. Forse dal momento che è solo una singola variabile nel Clss, hanno capito perché non rimuovere completamente la classe?
Alla domanda originale tra una coppia e una HashMap. Una coppia è solo una chiave/valore. Una HashMap è la raccolta solitamente usata per memorizzare molte coppie chiave/valore. Qui stanno usando una lista in cui dovrebbero probabilmente usare HashMap.
Perché? Probabilmente perché memorizzare tutto su un paziente in un oggetto non è una buona idea, per sicurezza e altro. In questo modo puoi astrarre l'accesso alle informazioni dei pazienti. – arynaq
Suppongo che tu non sappia della struttura dati della tabella hash, giusto? – acdcjunior