Класът Java Pair съхранява стойност в комбинацията на двойката ключ-стойност. Полезно е за получаване на две стойности. Тази комбинация ключ-стойност е известна като кортежи.
Двойките са полезни, когато искаме две стойности да бъдат върнати от метод. Например, ако имаме метод, който изчислява квадратния корен на число и искаме да отпечатаме числото с неговия квадратен корен. По този начин можем да отпечатаме изхода в комбинация от числа и неговия квадратен корен (напр. (5, 25)), като използваме класа двойка.
Java предоставя вграден клас Pair от Java 8.
В този раздел ще видим как да използваме класа Pair в Java. Освен това ще създадем нашия персонализиран клас двойки.
Сдвояване на клас в Java
От Java 8 Java предоставя клас Pair за съхраняване на стойностите в комбинации от двойки ключове. За да съхраним стойността в комбинация от двойки, трябва да използваме параметризирания конструктор, предоставен от javafx.util.Pair клас.
Класът Pair е полезен при съхраняване на стойността в дървовидна структура от данни. Докато изпълнявате операцията по рекурсия върху дървовидна структура от данни, е лесно да прехвърлите стойност от един възел към друг възел с помощта на класа Pair. Тези стойности могат да бъдат минимални и максимални стойности на възел до този възел. Това би попречило на показалеца да преглежда определени кодове многократно.
В Java картите се използват за съхраняване на стойността под формата на комбинация от двойка ключове. Те съхраняват стойността като кортежи и ги оперират като един обект.
За да внедрим класа Pair, трябва да импортираме неговия родителски пакет:
import javafx.util.Pair;
Вграденият двоен клас използва следната нотация на ключ и стойност точно като Карта в Java за съхраняване на чифт:
Декларация:
Обектът на класа Pair се декларира, както следва:
Pair p = new Pair(5 ,'Five');
Горният синтаксис ще създаде обект от типа и конструктор ще вземе стойността 5 и „Пет“ и ще ги съхрани в класа Pair.
Методи за двойки класове
Следните методи се предоставят от класа Java Pair:
bash разделя низ по разделител
getKey()
Той получава ключа за дадената двойка и връща ключа за посочената двойка. Декларира се както следва:
public K getKey()
getValue()
Той получава стойността за дадената двойка и връща стойността на двойката. Декларира се както следва:
public V getValue()
хеш код()
Той генерира хеш кода за двойката; този хешкод се изчислява, като се използват както името, така и стойността на двойката. Той замества класа HashCode и връща хеш кода за двойката. Декларира се както следва:
public int hashCode()
равно на()
Използва се за тестване на двойката за равенство с другата двойка. Ако обектът не е посочен за тестването или е нула, тогава той ще върне false. Дадените две двойки ще се считат за равни тогава и само ако техните имена и стойности са еднакви. Декларира се както следва:
public boolean equals(Object o)
Необходим е обектът на аргументите „-o“, за да се тества равенството с двойката. Той замества равенствата в класа Objects и връща true, ако дадената двойка е равна; в противен случай ще върне false.
toString()
Използва се за представяне на двойката като низ. В метода toString() винаги се използва разделителят на име/стойност по подразбиране='. Той заменя toString в клас Object и връща стойността String на двойката. Декларира се както следва:
списък за създаване на java
public String toString()
Конструктор на двойки класове
Конструкторът на клас Pair създава нова двойка. Той приема стойностите на ключа и двойката като аргумент. Декларира се както следва:
public Pair(K key, V value)
Видове класове по двойки
Има два типа Pair класове в Java, които са както следва:
Защо имаме нужда от клас по двойки
Класът двойка се използва за получаване на стойността в комбинация от двойка ключове. С други думи, можем да кажем, че класът двойка предоставя методи, които връщат две стойности заедно. Може да има много причини, поради които използваме класа Pair.
Следват няколко случая, когато трябва да използваме класа Pair:
- Да предположим, че искаме да върнем множество стойности. Можем обаче да го направим, като използваме някои структури от данни като Arrays и HashMap, но когато имаме работа с клъстер от променливи заедно, тогава връщането на двете може да бъде сложно. В такива случаи класът Pair ще бъде много полезен.
- Ако искаме да извършим математическа операция и искаме да покажем числото заедно с изхода му, тогава го правим лесно, като използваме класа Pair.
- Ако искаме да извършим операция върху дървовидна структура от данни.
Пример за клас по двойки
Нека го разберем с основен пример:
Класът по двойки е част от JavaFX , така че трябва да създадем и конфигурираме JavaFX проект. Вижте как да създадете JavaFX проект в Eclipse .
Сега създайте клас файл под src папка.
Създаваме клас 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()); } }
В горната програма ние вземаме стойност на двойка, която съдържа стойност на ключ с цяло число и стойност на двойка String. Декларираме клас Pair, използвайки неговия стандартен синтаксис и отпечатваме стойността му, използвайки метода getKey() и getValue() на класа pair. Той ще покаже следния изход:
Изход:
The key is :5 The Pair value is :Five
Персонализиран клас по двойки
Ако не искате да използвате вградения клас Pair, можете да персонализирате клас Pair с помощта на Generics. Разгледайте примера по-долу:
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(); } }
От горния код създадохме клас персонализирана двойка и съхраняваме две стойности в една променлива и я отпечатваме.
Изход:
Следователно, използвайки генерични методи, можем да се възползваме от предимствата на клас Pair, без да използваме JavaFX.
Нека разберем поведението му с функции:
Сдвояване на клас с функции
Можем да използваме клас Pair, за да върнем две стойности с помощта на функция. За да изпълните този процес, върнатият тип функция трябва да бъде двойка. Разгледайте примера по-долу:
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; } }
Изход:
Enter Value Five Enter Key 5
Заключение:
Сдвоените класове са много полезни за подобряване на ефективността на кода. Един полезен случай на класа Pair е съхраняването на стойността в дървовидната структура на данните. Можем да използваме вградени класове за двойки или да персонализираме нашите класове. Ако се използват правилно, те ще бъдат много полезни.