Ú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?:))
- Lenovo Yoga 7 2in1 OLED FHD+ Ultra 5 125H 16 GB DDR5 7467 MHz Magyar helyszíni garancia 2028.06.
- Apple iPhone 16 Pro Max 256GB,Újszerű,Dobozaval,12 boával garanciával
- Apple iPhone 11 64GB,Átlagos,Adatkabel,12 hónap garanciával
- Xiaomi Redmi Note 13 Pro 256GB,Újszerű,Dobozaval,12 hónap garanciával
- Xiaomi Poco X7 Pro 256GB,Újszerű,Dobozaval,12 hónap garanciával
- Honor Magic V3 12/512GB - Kártyafüggetlen, Fekete, ÚJSZERŰ - 1 Év garanciával
- ÚRIS10!!! RAMÁRON! LEGION 5 i7-13650HX 32GB RAM 1000GB SSD RTX 5070 8GB
- Részletre. Kingston FURY Impact 32GB DDR5 4800MHz KF548S38IB-32
- Értékcsökkentett gamer alaplapok /ASUS/MSI/AM5/Számlával/
- ÚJ 20 méteres LED szalag adapterrel és távirányítóval eladó
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


