logo

Java Çifti

Java Pair sınıfı, değeri anahtar-değer çifti birleşiminde saklar. İki değer elde etmek için kullanışlıdır. Bu anahtar/değer kombinasyonu, tanımlama grupları olarak bilinir.

Bir yöntemden iki değerin döndürülmesini istediğimizde çiftler kullanışlıdır. Örneğin bir sayının karekökünü hesaplayan bir yöntemimiz varsa ve sayıyı kareköküyle birlikte yazdırmak istiyorsak. Böylece, çift sınıfını kullanarak çıktıyı sayıların ve onun karekökünün (örneğin, (5, 25)) birleşimiyle yazdırabiliriz.

Java Java 8'den dahili bir Pair sınıfı sağlar.

Bu bölümde Java'da Pair sınıfının nasıl kullanılacağını göreceğiz. Ayrıca özelleştirilmiş Pair sınıfımızı oluşturacağız.

Java'da Çift Sınıf

Java 8'den bu yana Java, değerleri anahtar çifti birleşimlerinde depolamak için bir Pair sınıfı sağlar. Değeri çift kombinasyonunda saklamak için, tarafından sağlanan parametreli yapıcıyı kullanmamız gerekir. javafx.util.Pair sınıf.

Pair sınıfı, değeri bir ağaç veri yapısında saklarken kullanışlıdır. Bir ağaç veri yapısı üzerinde özyineleme işlemini gerçekleştirirken, Pair sınıfını kullanarak değeri bir düğümden diğer düğüme aktarmak kolaydır. Bu değerler o düğüme kadar olan minimum ve maksimum düğüm değerleri olabilir. Bu, işaretçinin belirli kodları tekrar tekrar ziyaret etmesini önleyecektir.

Java'da Haritalar, değeri bir anahtar çifti kombinasyonu biçiminde depolamak için kullanılır. Değeri tuple olarak saklarlar ve tek bir nesne gibi çalıştırırlar.

Pair sınıfını uygulamak için ana paketini içe aktarmamız gerekir:

 import javafx.util.Pair; 

Yerleşik çift sınıfı, tıpkı aşağıdaki gibi Anahtar ve Değer gösterimini kullanır: Java'da harita bir çifti saklamak için:

 

Beyanname:

Pair sınıfı nesnesi şu şekilde bildirilir:

 Pair p = new Pair(5 ,'Five'); 

Yukarıdaki sözdizimi türünde bir nesne yaratacaktır ve yapıcı 5 ve 'Beş' değerini alacak ve bunları Pair sınıfında saklayacaktır.

Çift Sınıf Yöntemleri

Aşağıdaki yöntemler Java Pair sınıfı tarafından sağlanır:

pandaların standart sapması

anahtarı al()

Verilen çiftin anahtarını alır ve belirtilen çiftin anahtarını döndürür. Aşağıdaki şekilde beyan edilir:

 public K getKey() 

Değer elde etmek()

Verilen çiftin değerini alır ve çiftin değerini döndürür. Aşağıdaki şekilde beyan edilir:

 public V getValue() 

hash kodu()

Çiftin karma kodunu oluşturur; bu hashcode, çiftin hem adı hem de değeri kullanılarak hesaplanır. HashCode sınıfını geçersiz kılar ve çiftin karma kodunu döndürür. Aşağıdaki şekilde beyan edilir:

 public int hashCode() 

eşittir()

Çiftin diğer çiftle eşitliğini test etmek için kullanılır. Nesne test için belirtilmemişse veya boşsa, false değerini döndürür. Verilen iki çift, yalnızca adları ve değerleri aynı olması durumunda eşit kabul edilecektir. Aşağıdaki şekilde beyan edilir:

 public boolean equals(Object o) 

Çift ile eşitliği test etmek için '-o' argüman nesnesi gerekir. Objects sınıfındaki eşitleri geçersiz kılar ve verilen çift eşitse true değerini döndürür; aksi takdirde false değerini döndürür.

toString()

Çifti String olarak temsil etmek için kullanılır. toString() yönteminde her zaman varsayılan ad/değer sınırlayıcı=' kullanılır. Object sınıfındaki toString'i geçersiz kılar ve çiftin String değerini döndürür. Aşağıdaki şekilde beyan edilir:

ikili ağacın sıralı geçişi
 public String toString() 

Çift Sınıf Oluşturucusu

Pair sınıfı yapıcısı yeni bir çift oluşturur. Anahtar ve çift değerlerini argüman olarak alır. Aşağıdaki şekilde beyan edilir:

 public Pair(K key, V value) 

Eşli Sınıf Türleri

Java'da aşağıdaki gibi iki tür Pair sınıfı vardır:

    Değişmez Çift Sınıfı:Immutable Pair sınıfları, bir kez tanımlandığında nesnenin değerinin değiştirilemeyeceği sınıflardır; bu, tanımlanan değerleri değiştirmek için setters yöntemini kullanamayacağımız anlamına gelir. Genellikle değer tanımlandığı takdirde sabit kalacaktır.Değişken Çift Sınıfı:Değişken sınıflar, değeri programda herhangi bir zamanda değiştirmemize olanak tanır. Bir nesnenin değerine erişmek ve değerini değiştirmek için alıcılar ve ayarlayıcılar yöntemlerini kullanabiliriz. Değerleri başlangıçta tanımlasak bile sonradan programda değiştirebiliriz. çift.setValue(a,b) Ve çift.getValue() Nesne değerini ayarlamak ve ona erişmek için yöntemler kullanılır.

Neden Eşli Derse İhtiyacımız Var?

Pair sınıfı, bir anahtar çifti birleşimindeki değeri elde etmek için kullanılır. Başka bir deyişle,pair sınıfının iki değeri bir arada döndüren yöntemler sağladığını söyleyebiliriz. Pair sınıfını kullanmamızın birçok nedeni olabilir.

Pair sınıfını kullanmamız gereken birkaç durum şunlardır:

  • Birden fazla değer döndürmek istediğimizi varsayalım. Ancak bunu Arrays ve HashMap gibi bazı veri yapılarını kullanarak yapabiliriz, ancak bir değişken kümesiyle birlikte uğraştığımızda her ikisini de döndürmek karmaşık olabilir. Bu gibi durumlarda Pair sınıfı çok yardımcı olacaktır.
  • Matematiksel bir işlem yapmak istiyorsak ve sayıyı çıktısıyla birlikte görüntülemek istiyorsak bunu Pair sınıfını kullanarak kolayca yaparız.
  • Bir ağaç veri yapısı üzerinde işlem yapmak istiyorsak.

Çift Sınıfı Örneği

Temel bir örnekle anlayalım:

Eşli sınıf eğitimin bir parçasıdır JavaFX bu yüzden bir JavaFX projesi oluşturup yapılandırmamız gerekiyor. Nasıl oluşturulacağını görün Eclipse'de bir JavaFX projesi .

Şimdi, altında bir sınıf dosyası oluşturun. kaynak dosya.

Bir TestPair sınıfı oluşturuyoruz.

TestPair.java:

 import javafx.util.Pair; public class TestPair { public static void main(String[] args) { Pair p = new Pair(5,'Five'); System.out.println('The key is :' + p.getKey()); System.out.println('The Pair value is :' + p.getValue()); } } 

Yukarıdaki programda, bir tamsayı anahtar değerini ve bir String çifti değerini tutan bir çift değeri alıyoruz. Bir Pair sınıfını standart sözdizimini kullanarak bildiriyoruz ve çift sınıfının getKey() ve getValue() yöntemini kullanarak değerini yazdırıyoruz. Aşağıdaki çıktıyı gösterecektir:

Çıktı:

 The key is :5 The Pair value is :Five 

Özelleştirilmiş Çift Sınıfı

Dahili Pair sınıfını kullanmak istemiyorsanız Generics'i kullanarak bir Pair sınıfını özelleştirebilirsiniz. Aşağıdaki örneği düşünün:

ÖzelleştirilmişPair.java:

boolean java'ya dize
 public class CustomizedPair { int key; String value; public CustomizedPair(int key, String value) //Constructor of the class { this.key = key; this.value = value; } public void print(){ System.out.println(''); } public static void main(String[] args){ CustomizedPair a = new CustomizedPair(1,'Hello'); a.print(); } } 

Yukarıdaki koddan Özelleştirilmiş Çift sınıfı oluşturduk ve iki değeri tek bir değişkende saklayıp yazdırdık.

Çıktı:

 

Dolayısıyla jenerik yöntemleri kullanarak, JavaFX'i kullanmadan Pair sınıfının avantajlarından yararlanabiliriz.

Fonksiyonlarla davranışını anlayalım:

Sınıfı İşlevlerle Eşleştirme

Bir işlevi kullanarak iki değeri döndürmek için Pair sınıfını kullanabiliriz. Bu işlemi gerçekleştirmek için fonksiyonun dönüş tipinin çift olması gerekir. Aşağıdaki örneği düşünün:

TestPair2.java:

 import java.util.Scanner; public class TestPair2 { public static void main(String[] args) { Scanner s = new Scanner(System.in); CustomizedPair a = func(s); a.print(); } public static CustomizedPair func (Scanner s){ System.out.println('Enter Value'); String key = s.next(); System.out.println('Enter Key'); int value = s.nextInt(); CustomizedPair a = new CustomizedPair(value, key); return a; } } 

Çıktı:

 Enter Value Five Enter Key 5 

Çözüm:

Eşli Sınıflar kod verimliliğini artırmak için çok faydalıdır. Pair sınıfının kullanışlı bir örneği, değeri ağaç veri yapısında depolamaktır. Dahili Pair sınıflarını kullanabilir veya sınıflarımızı özelleştirebiliriz. Doğru kullanıldığında çok faydalı olurlar.