HashMap-es feladatban valaki tud segíteni?
A feladat az, hogy készíteni kell egy HashMapet, 2 fájl (csv) adatait -vevők(hozzá tartozó azonosító kóddal) és a termékek adatai miket vettek - feltölteni, majd kiíratni azokat a vevőket, amik mindkét fájlban benne voltak.
Feltölteni fel tudom, de nem tudom hogy találjam meg ezeket a vevőket.
"Feltölteni fel tudom, de nem tudom hogy találjam meg ezeket a vevőket"
Végig mész az első fájlon, feltöltesz egy HashSet-et az azonosítókkal, aztán mikor a másodikon mész végig, akkor amelyik azonosító már szerepel a setben, az megvan mindkettőben.
"Tudok egyszerűbb megoldást: végigmész az első HashMap kulcsain (keySet), mindegyikre megnézed, hogy a másik HashMap kulcsai között szerepel-e (contains), és ha igen, kiíratod."
Ez nem csak nem egyszerűbb megoldás, mint amit a hármas válaszoló írt, de még rosszabb running time-ot is eredményez.
Legtöbb Set implementáció támogatja a retainAll metódust ami pont azt csinálja amire szükséged van:
Pl.:
egyikMap = ....
masikMap = ....
kozosElemek = new HashMap<>(egyikMap);
kozosElemek.keySet().retainAll(masikMap.keyset());
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!