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