Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Map;
- import java.util.HashMap;
- import java.util.TreeMap;
- public class Mapek {
- //private Map<Integer, String> map = new HashMap<>();
- private Map<String, Integer> map = new TreeMap<>();
- /*a HashMap es a TreeMap kozott annyi a kulonbseg,
- hogy a HashMap (kulcs alapjan) veletlenszeruen ad vissza,
- a TreeSet pedig szintúgy kulcs alapján, de ABC sorrendben, illetve
- szamtani sorrendben (0,1,2,3) ad vissza
- */
- /*Ugyanúgy hozod létre, mint egy listát, annyi különbséggel,
- hogy a 2 típust adsz meg.
- Az első típus, amit megadsz, (itt String) maga a kulcs/key,
- a második típus meg (itt Integer) az érték/value.
- itt nem map.add() van, hanem map.put(), ami két értéket vár
- az első értékbe egy kulcsnak megadott típust (szóval ide ? megy a kulcs)
- pld. map.put("?",4);
- a másidikba meg a kulcs értékét. pld. map.put("négy",?);
- miután ezeket bepakolgattad, van ez a speciális for ciklus, amit tudom,
- hogy mindenki rühell, de ezzel kibaszott egyszerú bejárni, mivel
- az iterátoros megoldás kb ennek a 3szorosa.
- ez lenne iterátorosan:
- Iterator<Map.Entry<KulcsTipus, ErtekTipus>> it = map.entrySet().iterator();
- for (Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator(); it.hasNext(); ) {
- Map.Entry<String,Integer> e = it.next();
- }
- szóval ezt felejtsd is el gyorsan xD
- az én példám ugyanezt csinálja, csak gyorsabban és szebben :D
- (egy videóban találtam ezt a megoldást amúgy)
- */
- public Mapek() {
- // szóval itt adod hozzá a kulcsot és az értékét,
- //ezeket egymás után bele is pakolgatja szépen
- // nem kell indexekkel baszakodni
- map.put("egy", 1);
- map.put("negy", 4);
- map.put("ketto", 2);
- map.put("ot", 5);
- map.put("harom", 3);
- /* most itt van ez a keySet(), ami a put-ban megadott kulcsokat tartalmazza
- megadsz egy kulccsal azonos tipusu valtozot majd : es utana a keySet() metodus,
- igy szepen minden ciklusban megkapja az x a keySet() epp soron kovetkezo elemet
- EEEES ezutan jon a csoda, a map.get() metodus, aminek ha atadsz egy kulcsot,
- akkor kidobja (még a put-ban írt) értéket pld.:
- az elso ciklusban az x erteke "egy" lesz, amit ha atadsz a map.get()-nek,
- akkor visszaadja a hozzá írt értéket, ami az int típusú 1
- igy bekaphatja az iterator, itt tiszta folosleges hasznalni
- */
- for (String x : map.keySet()) {
- System.out.println(x + " " + map.get(x));
- }
- /*
- HashMap-es OUTPUT:
- harom 3
- ot 5
- egy 1
- ketto 2
- negy 4
- TreeMap-es OUTPUT:
- (itt abc sorrendbe teszi, de ha pld a kulcsunk integer típusu lenne, akkor szamtani sorrendbe tenné)
- egy 1
- harom 3
- ketto 2
- negy 4
- ot 5
- */
- }
- }
Add Comment
Please, Sign In to add comment