Java Pair -luokka tallentaa arvon avain-arvo-pariyhdistelmään. Se on hyödyllinen kahden arvon saamiseksi. Tämä avain-arvo-yhdistelmä tunnetaan nimellä tuples.
Parit ovat hyödyllisiä, kun haluamme, että menetelmästä palautetaan kaksi arvoa. Jos meillä on esimerkiksi menetelmä, joka laskee luvun neliöjuuren ja haluamme tulostaa luvun sen neliöjuurella. Siten voimme tulostaa tulosteen numeroiden ja sen neliöjuuren yhdistelmänä (esim. (5, 25)) käyttämällä pariluokkaa.
Java tarjoaa sisäänrakennetun pariluokan Java 8:sta.
Tässä osiossa näemme, kuinka Pair-luokkaa käytetään Javassa. Lisäksi luomme räätälöidyn pariluokan.
Pariluokka Javassa
Java 8:sta lähtien Java tarjoaa Pair-luokan arvojen tallentamiseksi avainpariyhdistelmiin. Arvon tallentamiseksi pariyhdistelmänä meidän on käytettävä parametrisoitua konstruktoria, jonka tarjoaa javafx.util.Pair luokkaa.
Pair-luokka on hyödyllinen tallennettaessa arvoa puutietorakenteeseen. Suorittaessaan rekursiooperaatiota puutietorakenteessa on helppo siirtää arvoa solmusta toiseen solmussa Pair-luokan avulla. Nämä arvot voivat olla minimi- ja maksimisolmuarvoja kyseiseen solmuun asti. Tämä estäisi osoitinta palaamasta tiettyihin koodeihin toistuvasti.
Javassa Mapsia käytetään arvon tallentamiseen avainpariyhdistelmän muodossa. Ne tallentavat arvon monikkoina ja käyttävät niitä yhtenä objektina.
Pair-luokan toteuttamiseksi meidän on tuotava sen yläpaketti:
system.out.println
import javafx.util.Pair;
Sisäänrakennettu pariluokka käyttää seuraavaa avaimen ja arvon merkintää aivan kuten Javalla kartta tallentaaksesi parin:
Ilmoitus:
Pair-luokan objekti ilmoitetaan seuraavasti:
Pair p = new Pair(5 ,'Five');
Yllä oleva syntaksi luo objektin, jonka tyyppi on ja rakentaja ottaa arvon 5 ja 'Viisi' ja tallentaa ne Pair-luokkaan.
Pariluokkamenetelmät
Java Pair -luokka tarjoaa seuraavat menetelmät:
getKey()
c satunnaisluku
Se saa avaimen annetulle parille ja palauttaa avaimen määritetylle parille. Se ilmoitetaan seuraavasti:
public K getKey()
getValue()
Se saa arvon annetulle parille ja palauttaa parin arvon. Se ilmoitetaan seuraavasti:
public V getValue()
hash koodin()
Se luo hajakoodin parille; tämä hash-koodi lasketaan käyttämällä sekä parin nimeä että arvoa. Se ohittaa HashCode-luokan ja palauttaa parin hash-koodin. Se ilmoitetaan seuraavasti:
public int hashCode()
on yhtä suuri ()
Sitä käytetään testaamaan parin tasa-arvoa toisen parin kanssa. Jos objektia ei ole määritetty testaukseen tai se on tyhjä, se palauttaa epätosi. Annettuja kahta paria pidetään samanarvoisina silloin ja vain, jos niiden nimet ja arvot ovat samat. Se ilmoitetaan seuraavasti:
public boolean equals(Object o)
Parin tasa-arvon testaamiseen tarvitaan '-o'-argumenttiobjekti. Se ohittaa yhtäläiset luokan Objects ja palauttaa tosi, jos annettu pari on yhtä suuri; muuten se palauttaa epätosi.
toString()
Sitä käytetään edustamaan paria merkkijonona. Metodissa toString() käytetään aina oletusnimeä/arvon erotin='. Se ohittaa toString-arvon Object-luokassa ja palauttaa parin String-arvon. Se ilmoitetaan seuraavasti:
public String toString()
Pariluokan rakentaja
Pair-luokan konstruktori luo uuden parin. Se ottaa avaimen ja parin arvot argumenttina. Se ilmoitetaan seuraavasti:
public Pair(K key, V value)
Pariluokkien tyypit
Javassa on kahden tyyppisiä pariluokkia, jotka ovat seuraavat:
Miksi tarvitsemme pariluokkaa
Pariluokkaa käytetään avainpariyhdistelmän arvon saamiseksi. Toisin sanoen voidaan sanoa, että pariluokka tarjoaa menetelmiä, jotka palauttavat kaksi arvoa yhdessä. Voi olla monia syitä, miksi käytämme Pair-luokkaa.
Seuraavassa on muutamia tapauksia, joissa meidän on käytettävä Pair-luokkaa:
- Oletetaan, että haluamme palauttaa useita arvoja. Voimme kuitenkin tehdä sen käyttämällä joitain tietorakenteita, kuten Arrays ja HashMap, mutta kun käsittelemme muuttujien klusteria yhdessä, molempien palauttaminen voi olla monimutkaista. Tällaisissa tapauksissa pariluokka on erittäin hyödyllinen.
- Jos haluamme suorittaa matemaattisen operaation ja haluamme näyttää luvun tulosteen kanssa, teemme sen helposti käyttämällä Pair-luokkaa.
- Jos haluamme suorittaa toiminnon puutietorakenteelle.
Esimerkki pariluokasta
Ymmärretään se perusesimerkillä:
Pariluokka on osa JavaFX , joten meidän on luotava ja määritettävä JavaFX-projekti. Katso kuinka luodaan JavaFX-projekti Eclipsessä .
Luo nyt luokkatiedosto alle src kansio.
Luomme TestPair-luokkaa.
TestPair.java:
iphone emojit Androidissa
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()); } }
Yllä olevassa ohjelmassa otamme parin arvon, joka sisältää kokonaislukuavaimen arvon ja merkkijonoparin arvon. Määritämme pariluokan käyttämällä sen standardisyntaksia ja tulostamme sen arvon käyttämällä pariluokan getKey()- ja getValue()-metodeja. Se näyttää seuraavan tulosteen:
Lähtö:
The key is :5 The Pair value is :Five
Räätälöity pariluokka
Jos et halua käyttää sisäänrakennettua Pair-luokkaa, voit muokata pariluokkaa Genericsin avulla. Harkitse alla olevaa esimerkkiä:
CustomizedPair.java:
taulukko reagoi
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(); } }
Yllä olevasta koodista olemme luoneet mukautetun parin luokan ja tallentaneet kaksi arvoa yhteen muuttujaan ja tulostaneet sen.
Lähtö:
Näin ollen geneerisiä menetelmiä käyttämällä voimme hyödyntää pariluokan edut ilman JavaFX:ää.
Ymmärretään sen käyttäytyminen funktioilla:
Yhdistä luokka funktioiden kanssa
Voimme käyttää Pair-luokkaa palauttamaan kaksi arvoa funktion avulla. Tämän prosessin suorittamiseksi funktion palautustyypin on oltava pari. Harkitse alla olevaa esimerkkiä:
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; } }
Lähtö:
Enter Value Five Enter Key 5
Johtopäätös:
Pariluokat ovat erittäin hyödyllisiä koodin tehokkuuden parantamiseksi. Yksi hyödyllinen Pair-luokan tapaus on tallentaa arvo puutietorakenteeseen. Voimme käyttää sisäänrakennettuja pariluokkia tai mukauttaa luokkiamme. Jos niitä käytetään oikein, niistä on paljon apua.