24 Haziran 2019 Pazartesi

MultiKeyMap Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.apache.commons.collections4.map.MultiKeyMap;
Birden fazla key değeri ile bir value değerini eşleştirir. Bu sınıf aslında şuna benziyor.
ConncurrentMap<BiKey,Stuff> map = new ConcurrentHashMap<BiKey,Stuff>();

class BiKey{
    Key1 k1;
    Key2 k2;
    //let equals return k1.equqls&&k2.equals and implement hashCode accordingly
 }
constructor
Şöyle yaparız.
MultiKeyMap<String, String> multiKeyMap = new MultiKeyMap();
decorate metodu
LinkedMap vererek insertion order'ın korunmasını sağlarız

entrySet metodu
Şöyle yaparız.
MultiKeyMap<String, String> multiKeyMap = new MultiKeyMap();

multiKeyMap.put( "a1", "b1", "c1", "value1");
multiKeyMap.put( "a2", "b2", "c2", "value1");

for(Map.Entry<MultiKey<? extends String>, String> entry: multiKeyMap.entrySet()){
  System.out.println(entry.getKey().getKey(0)
    +" "+entry.getKey().getKey(1)
    +" "+entry.getKey().getKey(2)
    + " value: "+entry.getValue());
}
get metodu
Şöyle yaparız.
String s = multiKey.get("key1.1", "key2.1");
multiKeyMap metodu
Şöyle yaparız.
MultiKeyMap cache = MultiKeyMap.multiKeyMap(new LRUMap(50));
put metodu
Şöyle yaparız.
multiKey.put("key1.1", "key2.1", "value1");

Hiç yorum yok:

Yorum Gönder