Logo tr.removalsclassifieds.com

Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Fark (Tablolu)

İçindekiler:

Anonim

Karşılaştırılabilir ve karşılaştırıcı, koleksiyon öğelerini sıralamak için kullanılan üst düzey bir programlama dili olan java'nın her iki arabirimidir. Java temel olarak nesneleri sıralamak için bu iki farklı arabirimi sağlar. Gerçekleştirdikleri işlev temelinde ikisi arasında bir çizgi oluşturan her iki arayüz arasında birçok dikkate değer fark vardır.

Karşılaştırılabilir vs Karşılaştırıcı

Karşılaştırılabilir ve karşılaştırıcı arasındaki fark, eski arabirim, koleksiyonu tek bir öğe aracılığıyla sıralamak için kullanılırken, sonraki arabirim, koleksiyonu birden fazla öğe arasında sıralamak için kullanılır gibi çeşitli parametrelerde belirgindir. Belirli bir sınıfın kendisi Java'yı uygulamak zorundadır. Lang.Comparable arabirimi, örneklerini verimli bir şekilde karşılaştırabilmek için, karşılaştırıcı arabirim ise karşılaştırılan öğe türünün dışındadır.

Comparable, Java dilinin lang paketinde bulunan bir arabirimdir ve amacı, koleksiyon öğelerini yalnızca yaş, fiyat, kimlik, ad vb. gibi tek bir öznitelik kullanarak sıralamaktır. başka herhangi bir nesne. Herhangi bir türden bir nesne, bir liste veya bir dizi olsun, sıralanabilir.

Karşılaştırıcı, Java dilinin util paketinde bulunan bir arabirimdir ve amacı, aynı anda birden çok özniteliği kullanarak koleksiyon öğelerini sıralamaktır. Ayrı bir sınıftır ve karşılaştırılmakta olan öğe türünün dışındadır. Collections sınıfı, parametre olarak bir karşılaştırıcıyı kabul eden ikinci bir sıralama yöntemi sağlar.

Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Karşılaştırma Tablosu

Karşılaştırma Parametreleri

karşılaştırılabilir

karşılaştırıcı

sıralama türü Tek bir sıralama dizisi sağlar. Birden çok sıralama dizisi sağlar.
sınıf değişikliği Gerçek sınıfı değiştirir. Gerçek sınıfı değiştirmez.
Paket konumu Java-lang paketinde bulunur. Java'da bulunur. pakete kadar.
yöntemler CompareTo() yöntemine sahiptir. Karşılaştırma() yöntemine sahiptir.
sıralama yöntemleri Collections.sort(Liste) yöntemi. Collections.sort(Liste, Karşılaştırıcı) yöntemi.

Karşılaştırılabilir Nedir?

Yukarıda tartışıldığı gibi, karşılaştırılabilir, lang paketinde bulunan ve yalnızca bir öznitelik kullanarak koleksiyon öğelerini sıralamak için kullanılan bir Java programlama dili arabirimidir. Karşılaştırılabilir arabirim, yalnızca CompareTo() olan tek bir yöntem içerir. Karşılaştırılabilir nesne, diğer nesnelerle karşılaştırma yeteneğine sahiptir. Sınıfın örnekleri karşılaştırabilmesi için, sınıfın karşılaştırılabilir arabirimi uygulaması gerekli bir koşuldur.

Doğal sıralamaya sahip nesneler için karşılaştırılabilir bir arayüz geliştirildi. Başka bir deyişle, bu, sıralanacak nesnenin sıralanacak sıraya sahip olması gerektiği anlamına gelir. Mantıksal olarak, karşılaştırılabilir arabirim, "bu" referansı, yöntemde bahsedilen nesneyle karşılaştırır. Karşılaştırılabilir arabirim herhangi bir sınıf tarafından uygulandığında, o sınıfın nesnesi Koleksiyonlar kullanılarak sıralanabilir. sort() veya Diziler. sort() yöntemi.

Nesneler, CompareTo yöntemi tarafından tanımlanan doğal sırada otomatik olarak sıralanır. Sayılar, diziler ve diğer birçok tür karşılaştırılabilir. Dizeler alfabetik karşılaştırma kullanılarak karşılaştırılabilir. Java'nın çeşitli yerleşik sınıfları, karşılaştırılabilir arabirimi uygular. Akılda tutulması gereken en önemli şey, karşılaştırılabilir arayüzün sadece aynı sınıfa ait nesneleri karşılaştırmak için kullanılabileceğidir.

Karşılaştırıcı nedir?

Java programlama dilinin karşılaştırıcı arabirimi, util paketinde bulunur ve koleksiyonu aynı anda birden çok öznitelik temelinde sıralamak için kullanılır. Karşılaştırıcı tamamen ayrı bir sınıftır. Programcılar, farklı nesneleri karşılaştırmak amacıyla karşılaştırıcı arabirimini uygulayan birden çok sınıf oluşturmak için kullanırlar.

Herhangi bir koleksiyon nesnesini karşılaştırmak için ilk adım, içinde karşılaştırma() yöntemine sahip olan karşılaştırıcı yöntemini uygulayan bir sınıf oluşturmaktır. Aşağıdaki adım, karşılaştırıcı arabirimini uygulayan bu sınıfın bir örneğini yapmaktır. Son adım, sort() yöntemi olan aşırı yüklenmiş yöntemi çağırmak ve ardından hem listeyi hem de önceki adımda oluşturulan sınıfın örneğini atamaktır.

Karşılaştırıcı arabirimi, farklı sınıflardan iki nesneyi karşılaştırır. Karşılaştırıcı arabiriminde, karşılaştırma() yöntemi ve equals() yöntemi olmak üzere iki yöntem bulunur. Compare() yöntemi, karşılaştırılacak parametresi olarak iki farklı nesneyi alır ve equals() yöntemi, geçirilen nesnenin, çağrılan karşılaştırıcıya eşit olup olmadığını belirler. equals() yöntemi, çıktısı olarak bir boole değeri döndürür. Nesne geçtiğinde true döndürülür ve çağrılan nesnenin her ikisi de karşılaştırıcıdır ve değilse, false döndürülür.

Karşılaştırma() yöntemi, çıktısında, iletilen iki nesne arasında daha büyük olanı gösteren bir tamsayı değeri döndürür.

Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Temel Farklar

Çözüm

Her iki arayüz de sıralama amacıyla kullanılsa da, ikisi de birbirinden tamamen farklıdır. Liste öğelerinde farklı amaçlar için farklı şekilde kullanıldıkları birçok parametre veya zemin vardır. Bir kişi herhangi bir liste öğesini koleksiyonun tek bir öğesi temelinde sıralamak isterse, karşılaştırılabilir arabirim uygulanabilir; aksi takdirde, kişi herhangi bir liste öğesini birden çok öznitelik temelinde sıralamak isterse, o zaman bu belirli koleksiyon, karşılaştırıcı arabirimi uygulanarak sıralanmalıdır. Her iki arayüz de ayrı amaçlara ulaşmak için kullanılmak üzere geliştirilmiştir.

Referanslar

  1. https://dom-pubs.onlinelibrary.wiley.com/doi/abs/10.1111/j.1463-1326.2011.01545.x
  2. https://journals.asm.org/doi/abs/10.1128/aac.47.6.1824-1831.2003
  3. https://ieeexplore.ieee.org/abstract/document/6042862/

Karşılaştırılabilir ve Karşılaştırıcı Arasındaki Fark (Tablolu)