Giriş
Açıklaması şöyle
Şöyle yaparız. Bu durumda key sınıfının "Comparable" arayüzünü gerçekleştirmeleri gerekir.
Key sınıfının "Comparable" arayüzünü gerçekleştirmesi gerekmez. Comparator nesnesi veririz.
Örnek - Comparator
Şöyle yaparız.
Şöyle yaparız. Key tipi olarak dizi verildiği için dizinin tüm elemanları karşılaştırılıyor.
Şöyle yaparız.
1. for döngüsü
Elimizde şöyle bir map olsun.
Elimizde şöyle bir map olsun.
Elimizde şöyle bir map olsun
Şöyle yaparız.
Örnek ver
floorKey metodu
<= koşulunu sağlayan ilk key nesnesini döner. Eğer böyle bir nesne yoksa null döner. Bu metoda benzer bir şey C++'ta yok. std::map.upper_bound() büyüktür (>) koşulunu sağlayan nesneyi döner. std::map_lower_bound() ise büyük eşittir (>=) koşulunu sağlayan nesneyi döner
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Eski değeri almak için şöyle yaparız. Eski değer null olabilir.
Eğer Comparator karşılatırma sonucunu 0 yani eşit dönerse, ikinci defa put() çağrısı sonucu verilen yeni değer eski değer ile yer değiştirir. Şöyle yaparız.
Şöyle yaparız.
Açıklaması şöyle
Iteration is guaranteed in "natural sorted" order of keys.constructor
Şöyle yaparız. Bu durumda key sınıfının "Comparable" arayüzünü gerçekleştirmeleri gerekir.
Map<Integer,Integer> map = new TreeMap<>();
constructor - ComparatorKey sınıfının "Comparable" arayüzünü gerçekleştirmesi gerekmez. Comparator nesnesi veririz.
Örnek - Comparator
Şöyle yaparız.
Comparator<Foo> comparator = ...;
TreeMap<Foo, List<FooValue>> map = new TreeMap<> (comparator
);
Örnek - lambdaŞöyle yaparız. Key tipi olarak dizi verildiği için dizinin tüm elemanları karşılaştırılıyor.
Map<int[], String> treeMap = new TreeMap<>((o1, o2) -> {
for (int i = 0; i < o1.length; i++) {
if (o1[i] > o2[i]) {
return 1;
} else if (o1[i] < o2[i]) {
return -1;
}
}
return 0;
});
contains metoduŞöyle yaparız.
Integer value = ...
if(map
.containsKey(value)){...}
entrySet metodu1. for döngüsü
Elimizde şöyle bir map olsun.
Map<Integer, Set<String>> map = new TreeMap<>();
Şöyle yaparız. Parametreler aynı olmalıdır.for (Entry<Integer, Set<String>> e : map.entrySet()) {
...
}
2. IteratorElimizde şöyle bir map olsun.
Map<String, Integer> map = new TreeMap<>();
Iterator kullanmak istersek şöyle yaparız.
Iterator<Map.Entry<Integer,String>> it = map.entrySet().iterator();
while (it.hasNext ()) {
Map.Entry<Integer,String> pair = it.next();
Integer key = pair.getKey();
String value = pair.getValue(); ...
}
3. streamElimizde şöyle bir map olsun
Map<Key, Value> map = ...;
Value ile arama yapmak istersek şöyle yaparız.Set<Key> keys = map.entrySet().stream()
.filter(entry -> entry.getValue() == value)
.map(entry -> entry.getKey())
.collect(Collectors.toSet());
firstEntry metoduŞöyle yaparız.
Collectors.groupingBy(
Foo::getVariableCount,
TreeMap::new,
Collectors.toList())
.firstEntry()
.getValue()
floorEntry metoduÖrnek ver
floorKey metodu
<= koşulunu sağlayan ilk key nesnesini döner. Eğer böyle bir nesne yoksa null döner. Bu metoda benzer bir şey C++'ta yok. std::map.upper_bound() büyüktür (>) koşulunu sağlayan nesneyi döner. std::map_lower_bound() ise büyük eşittir (>=) koşulunu sağlayan nesneyi döner
Örnek
Şöyle yaparız.
TreeMap<Integer,Integer> map = new TreeMap<Integer,Integer>();
map.put(10, 100);
map.put(20, 200);
map.put(30, 300);
map.put(40, 400);
map.put(50, 500);
map.put(60, 600);
map.put(70, 700);
map.put(80, 800);
System.out.println(map.floorKey(5));
System.out.println(map.floorKey(9));
System.out.println(map.floorKey(10));
System.out.println(map.floorKey(11));
System.out.println(map.floorKey(90));
Çıktı olarak şunu alırız.null null 10 10 80
get metoduŞöyle yaparız.
Integer value = map.get (
1);
put metodu
İmzası şöylepublic V put (K key, V value);
ÖrnekŞöyle yaparız.
Integer value = ...
map.put (value, 1);
ÖrnekEski değeri almak için şöyle yaparız. Eski değer null olabilir.
TreeMap<LicenseNumber,Car> map = new TreeMap<LicenseNumber,Car>();
Car carReturnVal = map.put("6CAL146","clubCar");
ÖrnekEğer Comparator karşılatırma sonucunu 0 yani eşit dönerse, ikinci defa put() çağrısı sonucu verilen yeni değer eski değer ile yer değiştirir. Şöyle yaparız.
TreeMap<String, String> treeMap = new TreeMap<>(new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.toLowerCase().compareTo(o2.toLowerCase());
}
});
treeMap.put("abc", "Element1");
treeMap.put("ABC", "Element2");
Çıktı olarak şunu alırız.treeMap: {abc=Element2}
putAll metoduŞöyle yaparız.
map.putAll (otherHashMap);
Hiç yorum yok:
Yorum Gönder