Új hozzászólás Aktív témák
-
Lacces
őstag
Sziasztok!
Adott volt ez a TreeMap
private Map<Sör, Integer> sörök = new TreeMap<Sör, Integer>();És csak eme 3 névteret lehetett használni:
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;És kellett hozzá írni egy feltöltő metódust. Nézegettem a neten és az alábbi 2 megoldást találtam. Én az előbbit csináltam meg, ami hosszabb a másiknál.
A kód nem fordul le, mert a Java fordító kérte, hogy Compare interfészt is valósítsak meg a Sör osztályra, mert a Treemap Key-je egy BST-ben van rendezve. Ugyanezt a metódikát követve C#-ban összejött.
Kérdésem az lenne, hogy melyiket érdemes használni a kettő közül? És miért?
(Ilyen ForEach-es bejárás esetén, külön-külön találtam őket, és mindkettő jónak tűnik, elméletben)Map.Entry<Key, Value> VS. KeySet() - érdekel melyiket érdemesebb használni

De ha van más ötlet is, akkor azt is szívesen fogadok, tanulni, fejlődni is akarok suli mellett. De én magamtól e 2 megoldásra jutottam
Én így írtam meg.
public void feltölt(Sör sör, int dl) {
int d = 0;
Sör s = null;
for (Map.Entry<Sör, Integer> item : sörök.entrySet()) {
if (item.getKey().equals(sör)) {
d = item.getValue();
s = item.getKey();
}
}
if (s != null) {
sörök.put(s, d + dl);
}
else{
sörök.put(sör, dl);
}
}Másik rövidebb verzió:
public void feltölt(Sör sör, int dl) {
int dec;
for (Sör s : sörök.keySet())
if (s.equals(sör)){
dec = sörök.get(s);
sörök.put(s,dec + dl);
return;
}
sörök.put(sör, dl);
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Új, modolt billentyűzet eladó knobbal, kijelzővel + választható Magyar(PBT) kupakkal és kapcsolókkal
- Victus 16-d1033ns 16.1" FHD IPS i7-12700H RTX 3060 16GB 512GB NVMe gar
- Komplett hűtőrendszer minőségi alkatrészekből
- Seasonic G12 GC-850W 80 PLUS Gold (G12-GC-850) új
- Samsung PM9E1 "9100 PRO" 2TB M.2 NVME Gen5 x4 SSD! 14.000-12.500MB/s
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- Apple iPad A16 128GB, 1 Év Garanciával
- HIBÁTLAN iPhone 13 128GB Green-1 ÉV GARANCIA - Kártyafüggetlen, MS4347
- 161 - 162 - 163 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060 (ELKELT)
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4160
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


