Anahtar Farkı – TreeSet ve TreeMap
Aynı türden bir dizi veri öğesini depolamak için bir dizi kullanılır. Çoğu programlama dili Dizileri destekler. Bir dizi birden çok değer depolayabilmesine rağmen; önemli bir dezavantaj var. Dizi oluşturulduktan sonra onu değiştirmek mümkün değildir. Programcı 10 elemanlı bir dizi tanımlamışsa, 15 eleman depolayamaz. Programcı 10 elemanlı bir dizi bildirdiğinde ve sadece 5 eleman depoladığında, ayrılan belleğin geri kalanı israf olur. Java gibi programlama dilleri, veri öğelerini dinamik olarak depolamak için Koleksiyonlara sahiptir. Bir dizi koleksiyon var. Koleksiyonlar, öğe ekleme, kaldırma ve diğer işlemleri gerçekleştirmeye yardımcı olur. Temel arabirim Koleksiyon olarak bilinir. Set, List ve Queue, Collection arabirimini genişleten bazı arabirimlerdir. Harita, koleksiyon hiyerarşisinin bir arabirimidir, ancak Koleksiyon arabirimini genişletmez. TreeSet, Set arabirimini uygulayan ve öğeleri artan sırada depolayan bir sınıftır. TreeMap, Harita arabirimini uygulayan ve anahtar, değer çiftlerini artan sırada saklayan bir sınıftır. Anahtar fark budur. Bu makale, TreeSet ve TreeMap arasındaki farkı tartışıyor.
TreeSet nedir?
TreeSet, Set arabirimini uygulayan bir sınıftır. TreeSet benzersiz öğeleri korur. TreeSet, NavigableSet arabirimini uygular. Gezinilebilir arabirim, SortedSet, Set, Collection ve Iterable arabirimlerini hiyerarşik sırayla genişletir. TreeSet, öğeleri artan sırada saklar. Ekleme sırası A, C, B ise, TreeSet bunları A, B, C olarak saklayacaktır. TreeSet'in yöntemleri vardır. Add yöntemi, Küme'ye bir öğe eklemek için kullanılır. Remove yöntemi, belirtilen bir öğeyi kaldırmak için kullanılır. Clear yöntemi, tüm öğeleri kaldırmak için kullanılır. Belirtilen öğe Küme'de mevcutsa, include yöntemi true değerini döndürür. Bunlar, TreeSet tarafından sağlanan bazı yöntemlerdir. Aşağıdaki programa bakın.
Şekil 01: TreeSet kullanan program
Yukarıdaki programa göre, Treeset, TreeSet türünde bir nesnedir. Dizeleri saklayabilir. Öğeler, ekleme yöntemi kullanılarak eklenir. Ekleme sırası A, C, D ve B'dir. Yineleyici kullanılarak saklanan değerler ekrana yazdırılır. Öğeler A, B, C, D sırasında depolanır. Bu nedenle, TreeSet, Kümenin öğelerinin artan sırasını korur. “D” olarak başka bir öğe varsa, D öğesi Set'te zaten mevcut olduğundan yazdırılmaz. Her zaman benzersiz öğeleri saklar.
TreeMap nedir?
TreeMap, Harita arabirimini uygulayan bir sınıftır. Harita, anahtar/değer çiftlerini destekler. Her anahtar, değer çifti bir giriştir. Her anahtar benzersizdir ve karşılık gelen bir değere sahiptir. ContainerKey yöntemi belirli bir anahtarı bulmak için kullanılırken, belirli bir değeri bulmak için includeValue yöntemi kullanılır. Get yöntemi, verilen anahtara karşılık gelen değeri bulmak için kullanılır. Put yöntemi, verilen anahtarla bir değeri saklamak için kullanılır. Remove yöntemini kullanarak belirli bir anahtardaki bir öğeyi kaldırmak da mümkündür. Bunlar, Harita arayüzünün bazı yaygın yöntemleridir. Anahtara göre öğeleri aramaya, eklemeye ve silmeye yardımcı olur. TreeMap sınıfı, NavigableMap'i uygular. NavigableMap, SortedMap'i genişletir. SortedMap, Haritayı genişletir. Bu nedenle, Map yöntemleri TreeMap ile birlikte kullanılabilir. Aşağıdaki programa bakın.
Şekil 02: TreeMap kullanan program
Yukarıdaki programa göre, TreeMap'in bir nesnesi oluşturulur. Programcı, nesneyi kullanarak öğeler ekleyebilir. Put yöntemi, anahtar, değer çiftlerini eklemek için kullanılır. Get yöntemi, öğeleri getirmek için belirli anahtarla birlikte kullanılır. Programcı, tüm anahtarları ve değerleri yazdırmak için Map. Entry'yi kullanabilir. Çıktıyı gözlemlerken, eklenen sırayı korumaz. Öğeleri artan sırada saklar.
TreeSet ve TreeMap Arasındaki Benzerlikler Nelerdir?
- Hem TreeSet hem de TreeMap koleksiyon hiyerarşisindedir.
- Hem TreeSet hem de TreeMap artan düzeni korur.
- Hem TreeSet hem de TreeMap birçok öğeyi saklayabilir ve değiştirebilir.
TreeSet ve TreeMap Arasındaki Fark Nedir?
TreeSet vs TreeMap |
|
TreeSet, Set arabirimini uygulayan ve öğeleri artan sırada depolayan bir sınıftır. | TreeMap, Harita arabirimini uygulayan ve anahtar, değer çiftlerini artan sırada saklayan bir sınıftır. |
Uygulanan Arayüz | |
TreeSet, Set arayüzünü uygular. | TreeMap, Harita arayüzünü uygular. |
Özet – TreeSet vs TreeMap
Bir dizi öğeyi depolamak için kullanılır, ancak öğeleri dinamik olarak depolamaya yardımcı olmaz. Java gibi programlama dilleri, veri öğelerini dinamik olarak depolamak için Koleksiyonlar içerir. Koleksiyon, koleksiyon hiyerarşisindeki temel sınıftır. Eleman ekleme, silme gibi işlemleri gerçekleştirmek için sınıflar ve arayüzlerden oluşur. Küme ve Harita, Koleksiyon hiyerarşisinin iki arabirimidir. TreeSet, Set arabirimini uygulayan ve öğeleri artan sırada depolayan bir sınıftır. TreeMap, Harita arabirimini uygulayan ve anahtar, değer çiftlerini artan sırada saklayan bir sınıftır. TreeSet ve TreeMap arasındaki fark budur.