Java'da Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 15 Mayıs Ayı 2024
Anonim
Java'da Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Fark - Teknoloji
Java'da Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Fark - Teknoloji

İçerik

Karşılaştırılabilir ve Karşılaştırıcı, Java'daki nesnelerin veri öğelerini karşılaştırmak için kullanılan genel arabirimlerdir. Karşılaştırılabilir arayüz java.lang paketinde bulunur ve Karşılaştırıcı arayüz java.util paketinde bulunur. Karşılaştırılabilir ve Karşılaştırıcı arayüzleri arasındaki temel fark, Karşılaştırılabilir arayüzün tekli sıralama dizisini sağlamasıdır, buna karşılık Karşılaştırıcı arayüzü ise çoklu sıralama dizilerini sağlar. Karşılaştırma Tablosunda çalışacağımız Karşılaştırma ve Karşılaştırma arayüzü arasında başka bazı farklılıklar var.


  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelkarşılaştırılabilirKarşılaştırıcı
Temel Karşılaştırılabilir arayüz sadece tekli sıralama dizisine izin verir.Karşılaştırıcı arayüzü, çoklu Sıralama sekanslarına izin verir.
Paketler Karşılaştırılabilir arayüz java.lang paketinde bulunmaktadır.Karşılaştırıcı arabirimi java.util paketinde bulunur.
Yöntemler Karşılaştırılabilir arayüz sadece tek bir yöntem içerir
public int compareTo (Nesne obj);
Karşılaştırıcı arabirimi iki yöntem içerir
public int karşılaştırması (Nesne obj1, Nesne obj2)
boolean eşittir (nesne obj)
uygulamaKarşılaştırılabilir arayüz, nesneleri karşılaştırılacak olan sınıf tarafından uygulanır.Karşılaştırıcı arabirimi, nesneleri karşılaştırılacak olan sınıf yerine özel bir sınıf tarafından uygulanır.
karşılaştırma CompareTo (Object obj) yöntemi, yöntemi belirtilen nesneyle çağırmak için kullanılan nesneyi yönteme iletir.Compare (Object obj1, Object obj2) yöntemi, her iki yönteme iletilen belirtilen nesneleri karşılaştırır.
Liste / DiziKarşılaştırma türü nesnesinin bir listesiyle karşılaştırılması gerektiğinde, Koleksiyon sınıfı, örneğin Collections.sort (List lst) gibi bir yöntem sağlar.Karşılaştırılabilir türdeki nesnelerin bir listesinin karşılaştırılması gerektiğinde, Koleksiyon sınıfı, örneğin bir yöntem sağlar.
Collections.sort (Liste, Karşılaştırma).


Karşılaştırılabilir tanımı

Karşılaştırılabilir, java.lang paketinde bulunan bir arayüzdür. Bir sınıf, nesnesini doğal düzende sıralamak için Karşılaştırma arabirimini uygular. Nesneler doğal sıraya göre sıralanır, nesnelerin ASCII değerleri ile karşılaştırıldığı anlamına gelir. Karşılaştırılabilir arabirimi uygulayan sınıflar, Byte, Karakter, Çift, Kayan, Uzun, Kısa, Dize ve Tamsayı sınıflarıdır. Date ve Calander sınıfı bile Karşılaştırılabilir arayüzünü uygular.

Karşılaştırılabilir arayüz, CompareTo (Object obj) olan tek bir yöntem içerir. Bu yöntem, yöntemi çağırmak için kullanılan nesneyi parametrede belirtilen nesne ile karşılaştırır. Yöntemin sözdizimi aşağıdaki gibidir:

public int compareTo (Nesne obj);

CompareTo (Object obj) yöntemi dönüşü 0yöntemle karşılaştırılan her iki nesne de aynı değeri içerdiğinde, döndürür. -ve Çağrılan nesne belirtilen nesneden küçükse değer döndürür. + ve Çağrılan nesne, belirtilen nesneyle karşılaştırıldığında daha büyük bir değere sahipse, Collections sınıfı listenin öğelerini sıralamak için bir sıralama yöntemi sağlar. Karşılaştırılabilir türdeki liste (ve dizi) öğeleri “Collections.sort (List lst)” yöntemi kullanılarak sıralanabilir.


Karşılaştırıcının tanımı

Karşılaştırıcı, java.util paketinde bulunan bir arayüzdür. Arayüz Karşılaştırıcısı, nesneleri karşılaştırılacak sınıfa uygulanmaz; bunun yerine, ayrı sınıf, Karşılaştırıcı arabirimini uygular; böylece sıralama mantığı, nesnenin her veri öğesine farklı bir sınıfta uygulanır. Karşılaştırıcı aşağıdaki gibi iki yöntem içerir:

public int karşılaştırması (Object obj1, Object obj2) ve boolean eşittir (Object obj)

Yukarıdaki kıyaslama () yöntemi, birinci nesne obj1'i, ikinci nesne obj2 ile karşılaştırır. Compare () yönteminin dönüşü 0 yöntemle karşılaştırılan her iki nesne de aynı değeri içerdiğinde, döndürür. -ve obj1 obj2 nesnesinden küçükse değer ve obj2 döndürür + ve nesne obj1, nesne obj2 ile karşılaştırıldığında daha büyük bir değere sahipse değer. Equals () yöntemleri, belirtilen nesnenin çağıran nesneye eşit olup olmadığını kontrol eder. Equals () metodu return doğru eğer karşılaştırılan nesnelerin ikisi de eşitse, geri döner. yanlış. Koleksiyonlar sınıfı, liste öğelerini ve karşılaştırma türünü sıralamak için bir yöntem sunar. Karşılaştırma türlerinin liste öğeleri, Collections.sort (Liste, Karşılaştırma) yöntemine göre sıralanır.

  1. Karşılaştırılabilir arayüz, nesnenin yalnızca tek veri öğesini karşılaştırırken diğer taraftan kıyaslama yöntemini karşılaştırabileceğiniz tek sıralama dizisine izin verir. Karşılaştırıcı arabirimi, nesnenin birden çok veri öğesini karşılaştırabileceğiniz anlamına gelen birden çok sıralama dizisine izin verir.
  2. Karşılaştırılabilir arayüz, sınıflandırma mantığı aynı sınıf içinde tanımlandığı için nesneleri karşılaştırılacak olan sınıf tarafından uygulanır. Öte yandan, Karşılaştırıcı arabirimi, nesneleri karşılaştırılacak olan sınıf tarafından uygulanmaz, çünkü sıralama mantığı, her sınıfın nesnenin tek veri öğesinde sıralamayı tanımladığı ve bu tanımlayıcı sınıfların Karşılaştırıcı arabirimini uyguladığı ayrı sınıflarda tanımlanır. .
  3. Karşılaştırılabilir arabirim, java.lang paketinin içinde yer alırken, Karşılaştırıcı arabirimi java.util paketinin içinde yer alır.
  4. Karşılaştırılabilir arabirim, karşılaştırmalı (yalnızca obj obj) tek bir yöntem bildirir, Karşılaştırıcı arabirimi ise karşılaştırmak (nesne obj1, nesne obj2) ve eşittir (nesne obj) olmak üzere iki yöntem bildirir.
  5. Comparable'daki compareTo (Object obj) yöntemi, yönteme iletilen nesneyle nesneyi çağıran yöntemi karşılaştırırken, Comparator'un karşılaştırması (Object obj1, Object obj2) yöntemi, nesile1 nesnesini, yönteme iletilen obj2 ile karşılaştırır.
  6. Collections sınıfı, Karşılaştırılabilir türdeki nesneleri sıralamak için “Collections.sort (List lst)” bir sıralama yöntemi sağlar. Collections sınıfı, Comparator türündeki nesneleri sıralamak için Collections.sort (List, Comparator) sıralama yöntemi sağlar.

Sonuç:

Nesneleri doğal düzende sıralamak istiyorsanız, karşılaştırılabilir arabirimi kullanarak nesneleri sıralamak istediğiniz herhangi bir özniteliğe göre sıralamak istediğinizden sonra Karşılaştırıcı arabirimi kullanılır.