6 Ekim 2019 Pazar

Multimap Arayüzü

Giriş
Şu satırı dahil ederiz.
import com.google.common.collect.Multimap;
Sağ tarafı List olan sınıflar şöyle - Aynı key + value değeri tekil değildir
ArrayListMultimap
LinkedListMultimap
- ForwardingListMultimap
ImmutableListMultimap

Sağ tarafı Set olan sınıflar şöyle - Aynı key + value değeri tekildir
ForwardingSetMultimap
ForwardingSortedSetMultimap
HashMultimap
ImmutableSetMultimap
LinkedHashMultimap
TreeMultimap

Sağ tarafı SortedSet olan sınıflar şöyle - Aynı key + value değeri tekildir ve sıralıdır
- ForwardingSortedSetMultimap

TreeMultimap

get metodu
Collection döner. Açıklaması şöyle
If the map is modifiable, you can get a modifiable view on the collection of values mapped to a single key using get, the view returned is a plain Collection
Örnek
Şöyle yaparız
Multimap map = HashMultimap.create();
    
map.put("game", 1);
map.put("game", 2);
    
map.put("book", 4);
map.put("book", 3);
    
Iterable iter = map.get("book");
put metodu
Şöyle yaparız.
String key = "first-key";
Multimap<String, String> map = ArrayListMultimap.create();

map.put(key, "firstValue");
map.put(key, "secondValue");
map.put(key, "thirdValue");
putAll metodu
Şöyle yaparız
map.putAll("sec-key", Sets.newHashSet("am", "are", "is"));
remove metodu - key + value
Eğer map değiştiyse true döner.
Örnek
Şöyle yaparız
<K,V> boolean replaceValue(Multimap<K,V> map, K key, V oldValue, V newValue){
  if (map.remove(key, oldValue)) {
    map.put(key, newValue);
    return true;
  }
  return false;
}
replaceValues metodu - key + Iterable
Sağ taraftaki tüm value nesnelerini siler, yerlerine belirtilenleri koyar. Açıklaması şöyle
Multimap.replaceValues takes a collection of values that replaces all of the existing values for the given key.
Örnek
Şöyle yaparız
Multimap map = HashMultimap.create();
    
map.put("game", 1);
map.put("game", 2);
    
map.put("book", 4);
map.put("book", 3);
    
Iterable iter = map.get("book");
map.replaceValues("game", iter);
    
System.out.println(map);

// result : {book=[4, 3], game=[4, 3]}

Hiç yorum yok:

Yorum Gönder