search
Giriş
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 oy
1.2k gösterim
Java'da Set , HashSet ve TreeSet arasında ne fark vardır?
Java kategorisinde 2.0k puan

2 Cevap

0 oy

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 :)

2.0k puan
Hash ve Tree kavramlarını biraz daha detaylı öğrenmeye uğraş.
0 oy
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.
6.2k puan

İlgili sorular

0 oy
1 cevap 679 gösterim
679 gösterim
Lambda Expression ve Anonymous class arasındaki fark nedir? Lamda epression anonim bir fonksiyon diye biliyorum. Yani Anonim bir functional interface class'ı Hatta @FunctionalInterface kullanılıyor,.
30 Eylül 2020 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 774 gösterim
774 gösterim
Java 8'de map() ve flatMap() kullanım amacı mapping yapmak . Ancak ne farkı var?
6 Ekim 2020 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 1.3K gösterim
1.3K gösterim
Java programa dilinde Error ve Exception kavramları diğer dillerde de var mı öncelikle? İkinci olarak bu iki teri arasındaki temel ve genel farklar nelerdir?
1 Eylül 2018 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 3.3K gösterim
3.3K gösterim
Java programlamada dilinde erişim belirteçleri olan default, public, protected ve private aralarındaki farklar nelerdir? Sınıf (class), Interface ve kalıtım (inheritance) uygulanırken nasıldır?
9 Ocak 2017 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 1.8K gösterim
1.8K gösterim
Bir maven uygulamasını ayağa kaldırırken, JDK yerine JRE seçildiği için kalkmıyordu. Bu ikisinin ne farkı var acaba acıklayabilir misiniz?
18 Aralık 2016 Java kategorisinde tolgacelik.art 2.0k puan sordu