Hirdetés
- Google Pixel 9 Pro XL - hét szűk esztendő
- Google Pixel topik
- Samsung Galaxy A54 - türelemjáték
- Nothing Phone (3) – tervezett kaotika
- Fotók, videók mobillal
- One mobilszolgáltatások
- Visszahozhatja a hátlapi kijelzőt a Xiaomi 16 sorozat
- Apple iPhone 16 Pro - rutinvizsga
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
Ú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?:))
- Autós topik
- Renault, Dacia topik
- Google Pixel 9 Pro XL - hét szűk esztendő
- Google Pixel topik
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Kínai és egyéb olcsó órák topikja
- Samsung Galaxy A54 - türelemjáték
- AMD Navi Radeon™ RX 6xxx sorozat
- iPhone-t használók OFF topikja
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- További aktív témák...
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / GTX 1050Ti / 16GB DDR4 / 128SSD+1TB HDD
- Bomba ár! Lenovo ThinkPad T14 G1 - i5-10GEN I 16GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Microsoft Surface Laptop 5 13.5" i5-1245U 16GB 256GB 1év garancia
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3180
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest