Java Set Interfacesi Hakkında

Collection framework’üne ait olan elementlerimizden bir taneside “Set” interfacesidir. Bilindiği gibi “Set” elementi bir interface dir ve doğrudan bundan nesne üretemiyoruz. Ancak buna ait olan Somut sınıflardan nesne üretebiliyoruz.  HashSet,LinkedHashSet, TreeSet  gibi. ..

Şimdi nedir ? necidir ? bir bakalım.  Collection interfacesinden extend edilmiş ve Küme mantığında çalışan bir nesnedir . En önemli özelliği içerisinde tekrarlanan eleman bulundurmamasıdır.

Eleman eklerken veya çağırırken index numarası ile çağırma gibi bir lükse sahip değiliz.  Şimdi burada önemli bazı noktaları şöylece sıralayalım

  1. Collection frameworkünden extend edilmiş
  2. Biz List elementinde tekrarlayan nesne ekleyebiliyorduk ama bunda tekrarlanan nesne ekleyemiyoruz. Eğer varsa update yapıyor.
  3. Sadece bir tane “null” element ekleyebiliyoruz. Tekrarlanan “Null” yok 🙂
  4. Bir başka önemli noktada şu ki index ve pozisyon bilgisi alamıyoruz. Dolayısıyla index üzerinden elemana uluşma gibi bir durum söz konusu olmayacaktır.
  5. Jenerik olarak yazabiliyoruz. Set<String> … gibi…x

 

Java Set Bazı metodlar

  1. boolean isEmpty(): to check if Set is empty or not.
  2. boolean contains(Object o): Returns true if this Set contains the specified element.
  3. Iterator iterator(): Returns an iterator over the elements in this set. The elements are returned in no particular order.
  4. Object[] toArray(): Returns an array containing all of the elements in this set. If this set makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
  5. boolean add(E e): Adds the specified element to this set if it is not already present (optional operation).
  6. boolean remove(Object o): Removes the specified element from this set if it is present (optional operation).
  7. boolean removeAll(Collection c): Removes from this set all of its elements that are contained in the specified collection (optional operation).
  8. boolean retainAll(Collection c): Retains only the elements in this set that are contained in the specified collection (optional operation).
  9. void clear(): Removes all the elements from the set.
  10. Iterator iterator(): Returns an iterator over the elements in this set.

    Evet Internet üzerinde “collections framework in java” bunu yazıp görsellere bakarsanız Set interfacesinden 3 adet somut nesnenin türemiş olduğunu görebilirsiniz. bunlar;

  1. HashSet,
  2. LinkedHashSet 
  3. TreeSet 

HashSet : Verileri alırken eklenme sırasını gözetmez farklı zamanlarda farklı sıralama ile verileri alabilirsiniz sırayı garanti etmez

LinkedHashSet: Verileri eklenme sırasına göre tutmak ve almak isterseniz HashSet den farklı olarak bunu kullanabilirsiniz. 

TreeSet: SortedSet interfacesini implemente ettiği için Eklediğiniz bilgileri Eğer string ise Alfabetik, eğer Integer ise sayısal ,eğer  bir model sınıfınız varsa Comparable alana göre sıralama yaparak kaydeder. Zaten Tree ifadesini görünce bilin ki sıralı bir şekilde kaydediliyor.

Bu kadar bilgi bu konuda yeter sanırım….

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir