Keresés

Új hozzászólás Aktív témák

  • ar

    tag

    válasz VladimirR #640 üzenetére

    Hello!

    java.util.Map

    Ugye ez egy interface, szoval az init-re tett kerdesedre adando valasz az, hogy olyan osztaly peldanyat kell letrehozni, ami implementalja ezt az interfacet. A java.util.HashMap az a megvalositas amit altalanosan hasznalunk. Tehat: Map m = new HashMap(); import-okat nem irok ki ha nem baj :). Ha mar php-nel tartunk (aminek a doksija sajnos egy nagy tragyahalom a javadoc-hoz kepest, mar megbocsass :), akkor a Map-et ugy fogd fel, mint egy associacios tomb. Ha bele akarsz valamit rakni, akkor Map.put(Object key, Object value), ha ki akarsz belole szedni valamit akkor Map.get(Object key) : Object ahol a visszateresi ertek null, ha az adott kulcsoz, nincs bejegyzes. A tenyleges bejegyzesekhez a Map.Entry interface hasznalataval tudsz hozzaferni az adott Map.entrySet() : Set meghivasaval. Az Map.Entry.getValue() : Object, setValue(Object) metodusokkal tudok az aktualis bejegyzest modositani. Talan emlitest erdemel meg a Map.containsKey(Object key): boolean, metodusa, de tobb olyan metodus van ami a java.util.Collection-ben is megtalalhato. De figyelj oda, hogy a Map != Collection! Ja, a Map kulcs nelkuli ertekhalmazat (Collection view) a Map.values() : Set (?) metodussal tudod elkerni.

    A java.util.Map-nek van egy leszarmazott (kiterjeszett) interface-e, a java.util.SortedMap, amiben a KULCSOK szerint rendezve vannak a Map.Entry-elemek. A HashMap csak java.util.Map megvalositas, tehat ott nem garantalt a kulcs sorrend, de a SortedMap megvalositasa a java.util.TreeMap mar ugye ertelem szeruen garantalja a kulcs sorrendet (natural order illetve Comparator, ha jol tevedek). Hasznos a subMap(Object fromKey, Object toKey) : SortedMap vagy hasonlo metodusa (ha van egyaltalan neki, a SortedSet tudja ezt :), amivel a kulcsok sorrendje alapjan, reszhalmazat kerheted le a kulcs-ertek parjainak.

    Tehat:

    Map m = new HashMap();

    m.put(new Integer(0), ''A'');
    m.put(new Integer(1), ''B'');

    m.containsKey(new Integer(0)) // true
    m.containsKey(''A''); // false

    for (Iterator i = m.keySet().iterator(); i.hasNext; ) {
    Object key = i.next();
    System.out.println(m.get(key));
    }

    vagy

    for (Iterator i = m.entrySet().iterator(); i.hasNext(); ) {
    Map.Entry entry = (Map.Entry) i.next();
    System.out.println(entry.getKey() + '' -> '' + entry.getValue());
    }


    Eleg ertheto voltam? :)

  • Spyx

    tag

    válasz VladimirR #640 üzenetére

    Bővebben: link
    Ezen a linken az API-t éred el. a jobb alsó listában megkeresed a map -et és ott van a documentációja. szerintem elég érthető. ha már megtaláltad ezt akkor sry

  • Spyx

    tag

    válasz VladimirR #640 üzenetére

    Én már leadtam a hálózatok kötprogit. Gondolom neked is ahhoz kell. :))
    Milyen feladatot kaptál. Te is Miklósinál vagy??

Új hozzászólás Aktív témák