/** * @author tolgacelik.art * @date 2020-10-01 * @tags farkı, hashset, Java, set, treeset */ question Java’da Set , HashSet ve TreeSet farkı Java’da Set , HashSet ve TreeSet arasında ne fark vardır?
Bildiğim kadarıyla
Hashset ve TreeSet bir Set parent interface classları yani Set’in bir implementasyonudur.
{1,1,2,3,3,49,1,54} olan bier integer değerler olsun elimizde.
detaylarını araştırıp dönerim zaman içinde 🙂
Hash ve Tree kavramlarını biraz daha detaylı öğrenmeye uğraş.
Set bir interface oluyor. TreeSet ve HashSet ise bu interface için yazılmış gerçekleştirimler (implementations).
Set kavramı default olarak duplicate eleman kabul etmez. Bu implementation’a bağlı değil diye hatırlıyorum.
TreeSet arka planda bir balanced tree (dengeli ağaç) bulundurur. Bunun zaman karmaşıklığı (timecomplexity) O(logn) olur.
HashSet arka planda bir hash algoritması kullanır. Teorik olarka bunun zaman karmaşıklığı O(1) olur.
Hız olarka HashSet daha avantajlı olmasının yanında hafıza kullanımı olarka TreeSet daha iyi durumdadır.