Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Java'da Set , HashSet ve TreeSet farkı

Açık 2 Cevaplar 20 Gösterim Java
Java'da Set , HashSet ve TreeSet arasında ne fark vardır?

2 Cevap

0

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.

  • Set :  duplicate olan değerler gösterilmeyecek, yani TreeSet ve HashSet de aynı şekilde.
  • TreeSet  : duplicateler elendikten sonra, sıralı şekilde getirecek. Null değere izin vermez.
  • HashSet : , sıralama yapılmadığı için  daha hızlı çalışır. Null değere izin verir.


detaylarını araştırıp dönerim zaman içinde :)

(2k puan)
1Yorumlar
(4.8k puan)
Hash ve Tree kavramlarını biraz daha detaylı öğrenmeye uğraş.
0
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.
(4.8k puan)