logo

Para Java

Klasa Java Pair przechowuje wartość w kombinacji pary klucz-wartość. Jest to przydatne do uzyskania dwóch wartości. Ta kombinacja klucz-wartość jest nazywana krotkami.

Pary są przydatne, gdy chcemy, aby metoda zwróciła dwie wartości. Na przykład, jeśli mamy metodę obliczającą pierwiastek kwadratowy z liczby i chcemy wydrukować liczbę wraz z pierwiastkiem kwadratowym. W ten sposób możemy wydrukować wynik w postaci kombinacji liczb i pierwiastka kwadratowego (np. (5, 25)), używając klasy pary.

Jawa udostępnia wbudowaną klasę Pair z Java 8.

W tej sekcji zobaczymy, jak używać klasy Pair w Javie. Ponadto stworzymy naszą dostosowaną klasę par.

Klasa par w Javie

Od wersji Java 8 Java udostępnia klasę Pair do przechowywania wartości w kombinacjach par kluczy. Aby przechowywać wartość w kombinacji par, musimy użyć sparametryzowanego konstruktora dostarczonego przez javafx.util.Pair klasa.

Klasa Pair jest przydatna podczas przechowywania wartości w drzewiastej strukturze danych. Wykonując operację rekurencji na drzewiastej strukturze danych, można łatwo przekazać wartość z jednego węzła do drugiego za pomocą klasy Pair. Wartości te mogą być minimalnymi i maksymalnymi wartościami węzła aż do tego węzła. Zapobiegłoby to wielokrotnemu powracaniu wskaźnika do niektórych kodów.

W Javie mapy służą do przechowywania wartości w postaci kombinacji par kluczy. Przechowują wartość jako krotki i obsługują je jako pojedynczy obiekt.

Aby zaimplementować klasę Pair, musimy zaimportować jej pakiet nadrzędny:

 import javafx.util.Pair; 

Wbudowana klasa par używa następującej notacji klucza i wartości, podobnie jak klasa Mapa w Javie do przechowywania pary:

 

Deklaracja:

Obiekt klasy Pair deklaruje się w następujący sposób:

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

Powyższa składnia utworzy obiekt typu i konstruktor przyjmie wartość 5 i „Five” i zapisze je w klasie Pair.

Metody zajęć w parach

Klasa Java Pair udostępnia następujące metody:

Weź klucz()

Pobiera klucz dla danej pary i zwraca klucz dla określonej pary. Deklaruje się to w następujący sposób:

 public K getKey() 

getValue()

znak na int w Javie

Pobiera wartość dla danej pary i zwraca wartość pary. Deklaruje się to w następujący sposób:

 public V getValue() 

hashCode()

Generuje kod skrótu dla pary; ten kod skrótu jest obliczany przy użyciu zarówno nazwy, jak i wartości pary. Zastępuje klasę HashCode i zwraca kod skrótu dla pary. Deklaruje się to w następujący sposób:

 public int hashCode() 

równa się()

Służy do testowania pary pod kątem równości z drugą parą. Jeśli obiekt nie zostanie określony do testowania lub ma wartość null, zwróci wartość false. Dane dwie pary zostaną uznane za równe wtedy i tylko wtedy, gdy ich nazwy i wartości są takie same. Deklaruje się to w następujący sposób:

 public boolean equals(Object o) 

Do sprawdzenia równości z parą potrzebny jest obiekt argumentów „-o”. Zastępuje wartości równe w klasie Obiekty i zwraca wartość true, jeśli dana para jest równa; w przeciwnym razie zwróci wartość false.

doString()

Służy do reprezentowania pary jako String. W metodzie toString() zawsze używany jest domyślny ogranicznik nazwy/wartości='. Zastępuje toString w klasie Object i zwraca wartość String z pary. Deklaruje się to w następujący sposób:

 public String toString() 

Konstruktor klas par

Konstruktor klasy Pair tworzy nową parę. Jako argument przyjmuje wartości klucza i pary. Deklaruje się to w następujący sposób:

 public Pair(K key, V value) 

Rodzaje zajęć w parach

W Javie istnieją dwa typy klas par:

    Niezmienna klasa pary:Klasy Immutable Pair to takie klasy, w których raz zdefiniowana wartość obiektu nie może zostać zmieniona; oznacza to, że nie możemy użyć metody ustawiającej do zmiany zdefiniowanych wartości. Ogólnie rzecz biorąc, wartość pozostanie stała, jeśli zostanie zdefiniowana.Zmienna klasa par:Klasy mutable pozwalają nam zmieniać wartość w dowolnym momencie w programie. Możemy używać metod pobierających i ustawiających, aby uzyskać dostęp do obiektu i zmienić jego wartość. Moglibyśmy zmienić te wartości w dalszej części programu, nawet jeśli zdefiniowaliśmy je na początku. The para.setWartość(a,b) I para.getValue() metody służą do ustawiania i uzyskiwania dostępu do wartości obiektu.

Dlaczego potrzebujemy zajęć w parach

Klasa pary służy do uzyskania wartości w kombinacji pary kluczy. Innymi słowy, możemy powiedzieć, że klasa pair udostępnia metody, które zwracają razem dwie wartości. Może być wiele powodów, dla których używamy klasy Pair.

Oto kilka przypadków, w których musimy użyć klasy Pair:

  • Załóżmy, że chcemy zwrócić wiele wartości. Możemy to jednak zrobić, używając niektórych struktur danych, takich jak Arrays i HashMap, ale gdy mamy do czynienia z klastrem zmiennych razem, wówczas zwrócenie obu z nich może być skomplikowane. W takich przypadkach bardzo pomocna będzie klasa Pair.
  • Jeśli chcemy wykonać operację matematyczną i chcemy wyświetlić liczbę wraz z jej wynikiem, to możemy to łatwo zrobić za pomocą klasy Pair.
  • Jeśli chcemy wykonać operację na drzewiastej strukturze danych.

Przykład klasy par

Rozumiemy to na podstawowym przykładzie:

Klasa par jest częścią JavaFX , dlatego musimy utworzyć i skonfigurować projekt JavaFX. Zobacz Jak tworzyć projekt JavaFX w Eclipse .

Teraz utwórz plik klasy w folderze źródło teczka.

Tworzymy klasę TestPair.

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()); } } 

W powyższym programie bierzemy wartość pary, która zawiera wartość klucza w postaci liczby całkowitej i wartość pary ciągu. Deklarujemy klasę Pair, używając jej standardowej składni i drukujemy jej wartość za pomocą metod getKey() i getValue() klasy pary. Wyświetli następujące dane wyjściowe:

Wyjście:

 The key is :5 The Pair value is :Five 

Dostosowana klasa par

Jeśli nie chcesz używać wbudowanej klasy Pair, możesz dostosować klasę Pair za pomocą Generics. Rozważ poniższy przykład:

CustomizedPair.java:

 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(); } } 

Na podstawie powyższego kodu utworzyliśmy klasę Customized Pair, przechowujemy dwie wartości w jednej zmiennej i drukujemy ją.

Wyjście:

 

Dlatego też, stosując metody generyczne, możemy czerpać korzyści z klasy Pair bez użycia JavaFX.

Rozumiemy jego zachowanie za pomocą funkcji:

Połącz klasę z funkcjami

Możemy użyć klasy Pair, aby zwrócić dwie wartości za pomocą funkcji. Aby wykonać ten proces, zwracanym typem funkcji musi być para. Rozważ poniższy przykład:

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; } } 

Wyjście:

 Enter Value Five Enter Key 5 

Wniosek:

Klasy par są bardzo przydatne do poprawy wydajności kodu. Jednym z przydatnych przypadków klasy Pair jest przechowywanie wartości w drzewiastej strukturze danych. Możemy skorzystać z wbudowanych klas parowych lub dostosować nasze zajęcia. Jeśli zostaną właściwie użyte, będą bardzo pomocne.